Stack Navigator에 중첩 된 TabNavigator가 있습니다. 로그인 페이지에서 TabNavigator로 이동하여 스택을 재설정하고 일부 매개 변수를 TabNavigator에 전달하려고합니다.
문서에 설명 된대로 스택을 재설정하고 user
매개 변수를 탐색기에 전달하는 후속 작업을 수행하고 있습니다.
resetAction = () => {
return NavigationActions.reset({
index:0,
actions: [NavigationActions.navigate({routeName:'TabNav', params:{user: userId}})]
})
}
내 문제는 TabNavigator 경로의 매개 변수에 액세스 할 수 없다는 것입니다. 나는 사용하여 시도 this.props.navigation.state.params
하거나 this.props.navigation.params
그러나 아무도는 제대로 작동하지 않습니다.
내 tabNavigator 코드 :
const TabNav = TabNavigator({
Page1:{screen: Page1},
Page2: {screen: Page2},
Page3: {screen: Page3}
})
TabNav 구성 요소를 아래와 같이 클래스 기반 구성 요소로 변경하여 해결할 수있었습니다.
export default class Dashboard extends React.Component {
router = const TabNav = TabNavigator({
Page1:{screen: Page1},
Page2: {screen: Page2},
Page3: {screen: Page3}
})
render(){
return <TabNav screenProps={{userId: this.props.navigation.state.params.userId}}/>
}
}
그렇게하면 일반적으로 NavigationActions.navigate({routeName:'TabNav', params:{userId}}
screenProps 속성의 경로에서 userId 매개 변수와 같은 매개 변수에 대한 액세스를 전달할 수 있습니다.this.props.screenProps.userId
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다