javascript - 将参数传递给嵌套的 TabNavigator
问题描述
我有StackNavigator
嵌套TabNavigator
在其中,我正在导航到VisitUserPageNew
并获取正在渲染的第一个屏幕中的参数,它是UserPage
并且它可以工作。但是后来我试图将参数传递给嵌套UserSection
并返回undefined
这是导航调用:
this.props.navigation.navigate('VisitUserPageNew',{
visitorProps: {
visitorNickName:this.props.linkPublisherNickName,
visitor:true
}
})
这些是我的组件:
class UserPage extends Component {
visitorProps = this.props.navigation.getParam('visitorProps')
render() {
console.log(this.visitorProps) // return the object I need
return(
<View style={styles.container}>
<Text>Text</Text>
<View style={{width:'100%',height:'100%',flex:1}}>
<UserSection
visitorProps={this.visitorProps}
/>
</View>
</View>
)
}
}
export default class UserLinks extends Component {
render() {
console.log(this.props.visitorProps) // return undefined
return <View/>;
}
}
export default class UserBookmarks extends Component {
render() {
console.log(this.props.visitorProps) // return undefined
return <View/>;
}
}
这是路线结构:
export const UserSection = createMaterialTopTabNavigator({
UserFeed: {
screen: UserLinks,
},
Saved: {
screen: UserBookmarks,
},
})
export const UserPageNew = StackNavigator({
UserSectionPage: {
screen: UserPage
},
UserSection: {
screen: UserSection
},
})
export const Home = StackNavigator({
Main: {
screen: Main
},
VisitUserPageNew: {
screen: UserPageNew
},
})
所以将参数传递到第一个屏幕效果很好。但是,当我想继续将这些相同的参数传递给嵌套UserSection
时,它会失败。visitorProps = this.props.navigation.getParam('visitorProps')
我也试着在里面打电话UserBookmarks
,UserLinks
但结果是一样的。我无法获得这些参数。
解决方案
推荐阅读
- database - 简单的 SQLite UPDATE 语句不起作用
- kubernetes - 法兰绒经常重启
- javascript - Vue active class v-for
- node.js - 音频文件未完全在语音通道中播放
- python - 'if' 执行事件后程序未结束
- html - xslt:css在html页面中没有工作
- javafx - 如何访问嵌套在公共静态类中的方法(值)
- spring - Spring Boot 在当前默认属性之上添加属性
- android - Xamarin ADAL - AcquireTokenAsync 返回空结果
- php - 如何根据我在 Redux Framework 选项页面中的值使用 get_template_part() 切换模板?