id 값을 useSelector로 잘 받아오고 있었는데
헤더 버튼을 클릭하자
id 값이 undefined가 찍혔다
어떻게 된 일 일까?
const id = useSelector(state => state.auth.id)
function submit(){
console.log(id) //undefined!!
}
useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => (
<Button onPress={submit} title="submit"/>
)
})
}, [navigation])
헤더버튼은 랜더링 될 때 최초 한 번 찍히므로
예전 id의 값을 가지고 있는 듯 하다.
그러므로 배열에 navigation 말고 id를 넣어준다.
const id = useSelector(state => state.auth.id)
function submit(){
console.log(id)
}
useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => (
<Button onPress={submit} title="submit"/>
)
})
}, [id]) // <- id 가 갱신 될 때마다 헤더 버튼을 재 랜더링한다.
'src' 카테고리의 다른 글
리액트 네이티브 파일 경로로 파일 객체 얻기 (0) | 2021.08.29 |
---|---|
자바스크립트 얕은 복사, 깊은 복사 (0) | 2021.08.24 |
리액트 함수형 컴포넌트에서 상속해결 (1) | 2021.08.09 |
react native 네비게이터 헤더 설정 (0) | 2021.08.08 |