嗨,我是新手,对原生做出反应并尝试学习一些东西。我试图在按钮单击子视图上传递用户名。这是我在按钮上单击视图A
的代码this.props.navigation.navigate('GetRegisteredScreen', {}, {
type: ' Navigate',
routeName: 'GetRegisteredScreen',
params: {username: 'Robert'}
})
查看B
componentDidMount(){
alert(this.props.navigation.state.params.username)
}
获得以下错误
params.username
中未定义
我做错了什么?
请有人帮忙,先谢谢
编辑:以下是this.props.navigation
答案 0 :(得分:0)
我猜你的导航器将params的属性注入到下一个组件的道具中,所以只需使用
this.props.username
答案 1 :(得分:0)
你有语法错误。你传的错了。它应该如下所示。
this.props.navigation.navigate({
routeName: 'GetRegisteredScreen',
username: 'Robert'
});
// OR
this.props.navigation.navigate('GetRegisteredScreen', {
username: 'Robert'
});
您使用的语法是dispatching navigate action。
示例强>
const navigateAction = NavigationActions.navigate({
routeName: 'Profile',
params: {},
action: NavigationActions.navigate({ routeName: 'SubProfileRoute'})
})
this.props.navigation.dispatch(navigateAction)