React-native中的Stacknavigator问题(如何在路线中传递道具)

时间:2020-03-22 09:47:02

标签: react-native stack-navigator

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>

请有人帮我。如何在路线中传递道具?

1 个答案:

答案 0 :(得分:1)

不,您不需要在导航中强制传递道具。仅当您需要在下一屏幕中使用它时,它才会通过

您能告诉我当应用崩溃时,它显示什么错误吗?您甚至可以尝试在“ id”中传递静态值(如果可行),然后尝试传递动态值