React native react导航中未定义参数
在安装“@react navigation/native”:“^5.1.3”之前,我的代码一直运行良好, “@react导航/堆栈”:“^5.2.8”。之前我使用的是“反应导航”:“^4.2.2”, “反应导航堆栈”:“^2.2.3”包。 App.js:React native react导航中未定义参数,react-native,react-navigation-stack,React Native,React Navigation Stack,在安装“@react navigation/native”:“^5.1.3”之前,我的代码一直运行良好, “@react导航/堆栈”:“^5.2.8”。之前我使用的是“反应导航”:“^4.2.2”, “反应导航堆栈”:“^2.2.3”包。 App.js: <Stack.Screen name="HomeRT" component={Home} /> <Stack.Screen name="BlogDetailsRT", component={BlogDetails}/>
<Stack.Screen name="HomeRT" component={Home} />
<Stack.Screen name="BlogDetailsRT", component={BlogDetails}/>
Home.js:
<Text style={styles.TextStyle} onPress={() => this.props.navigation.navigate('BlogDetailsRT', { id:blog_id })}>{blogname}</Text>
此处显示错误消息“TypeError:无法读取未定义的属性'params' 试试下面的代码
状态={
搜索:this.props.navigation.getParam(“searchText”,”)
};
我的最佳猜测是:1)摆脱@react-navigation/stack或react-navigation堆栈依赖关系。2) BlogDetailsRT屏幕声明中存在昏迷。可能这两个选项都会造成问题。请尝试通过删除此
直接访问道具。像这样props.navigation.state.params.id
感谢您的快速响应。我已卸载react导航堆栈和react导航。我也移除了昏迷,仍然无法读取的属性参数undefined@AnurodhSingh:获取'TypeError:无法读取未定义的属性'params'。您应该使用react导航。是的,我尝试了此代码。。但是获取“TypeError:_this.props.navigation.getParam不是函数”…在
<Text style={styles.TextStyle} onPress={() => this.props.navigation.navigate('BlogDetailsRT', { id:blog_id })}>{blogname}</Text>
constructor(props) {
super(props);
this.state = {
blog_id: this.props.navigation.state.params.id
};