react-native 中的 Stacknavigator 问题(如何在路由中传递道具)
Stacknavigator issue in react-native(how to pass props in routes)
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:点击博客详细信息,现在应用程序崩溃了。
<TouchableHighlight onPress={this.props.navigation.navigate('BlogDetailsRT', { id: blogid })} underlayColor='#31e981'>
<Text style={styles.buttons}> Blog details</Text>
</TouchableHighlight>
有人帮忙me.How在路由中传递道具吗???
不,您不需要在导航中强制传递道具。只有在下一屏需要用到的时候才会通过
你能告诉我当应用程序崩溃时,它显示什么错误吗?如果可行,您甚至可以尝试在 "id" 中传递静态值,然后尝试传递动态值
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:点击博客详细信息,现在应用程序崩溃了。
<TouchableHighlight onPress={this.props.navigation.navigate('BlogDetailsRT', { id: blogid })} underlayColor='#31e981'>
<Text style={styles.buttons}> Blog details</Text>
</TouchableHighlight>
有人帮忙me.How在路由中传递道具吗???
不,您不需要在导航中强制传递道具。只有在下一屏需要用到的时候才会通过
你能告诉我当应用程序崩溃时,它显示什么错误吗?如果可行,您甚至可以尝试在 "id" 中传递静态值,然后尝试传递动态值