app.js:它包含到所有屏幕的路由。是否需要在路上传递道具?例如,当我显示博客详细信息(this.props.navigation.navigate('BlogDetailsRT',{id:blog_id})时,我会传递博客的ID。是否还需要在路线中指定它?怎么做?
const AppNavigator = createStackNavigator(
{
CreateBlogRT: {
screen: CreateBlog
},
BlogDetailsRT: {
screen: BlogDetails
},
EditBlogRT: {
screen: EditBlog
},
DeleteBlogRT: {
screen: DeleteBlog
},
HomeRT: {
screen: Home
},
},
{
initialRouteName: 'HomeRT'
} );
const MyRoutes = createAppContainer(AppNavigator);
export default class App extends React.Component {
render() {
return (
<MyRoutes />
);
}
}
Home.js:单击BlogDetails,现在应用程序崩溃。
<TouchableHighlight onPress={this.props.navigation.navigate('BlogDetailsRT', { id: blogid })} underlayColor='#31e981'>
<Text style={styles.buttons}> Blog details</Text>
</TouchableHighlight>
请有人帮我。如何在路线中传递道具?
答案 0 :(得分:1)
不,您不需要在导航中强制传递道具。仅当您需要在下一屏幕中使用它时,它才会通过
您能告诉我当应用崩溃时,它显示什么错误吗?您甚至可以尝试在“ id”中传递静态值(如果可行),然后尝试传递动态值