Modal의 사용자 정의 값으로 ReactNative에서 상태를 초기화하는 가장 좋은 방법은 무엇입니까?

다니엘 퀘이 로즈

따라서 부모 구성 요소에서 가져온 사용자 지정 값으로 상태를 초기화해야하는 특정 문제가 있습니다 props.theValue. 그러나 문제는 props.theValue상태를 설정할 때 준비되지 않았다는 것입니다. 따라서이 줄은 작동하지 않아야합니다.

const [grams, setGrams] = useState(props.theValue)

시나리오 : 부모 화면에 음식 목록 이 있습니다. 사용자가 클릭하면 선택한 항목이 조작되기 전에 선택할 수있는 몇 가지 옵션이있는 모달 (팝업처럼)이 열립니다.

내가 무엇을 시도 했습니까?

  1. 초기 플래그 useState(-1)를 설정하여 값을 설정해야 props하지만 다시이 상태에서 소품이 준비되지 않았습니다.
  2. 부모에 상태를 저장하고 함수가 설정된 상태를 모달에 전달합니다. 하지만 여전히 옳지 않은 것 같습니다
  3. useEffect하지만 호출 setGrams때마다 Loop Rendering 오류가 발생하고 props.theValue도 여전히이 시점에서 정의되지 않습니다.

:

이 경우 두 TextInput 모두 부모 구성 요소에서 가져온 초기 값을 가져야하며 조작해야합니다.

Dannark

Redux를 사용하여 구성 요소 간의 데이터를 조작하거나 다음과 같이 시도 할 수 있습니다.

전역 변수를 설정합니다.

let previousObj = null

그런 다음 Modal invisible 및 Visible을 다시 설정하더라도 데이터를 한 번만 업데이트하도록 제한 시간을 설정합니다.

setTimeout(() => {
    if(food.grams != undefined && previousObj != food){
        previousObj = food
        setGrams(""+food.grams)
    }
}, 100)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관