Reactnavigation 参数错误 "undefined is not an object evaluating route.params"
Reactnavigation params error "undefined is not an object evaluating route.params"
我收到标题中提到的错误,[这个][1] 等解决方案似乎不起作用。
用户从屏幕 1 开始,然后转到其他几个屏幕,然后再次回到屏幕 1。当用户(再次)进入屏幕 1 时,我想传递一些参数(并以某种方式使用这些参数来强制该组件的 re-render)。这是我的代码:
屏幕 1
function Screen 1(props, { route, navigation }) {
...
const { itemId } = route.params;
console.log(itemId);
屏幕 X(用户返回屏幕 1 之前访问的最后一个屏幕)
onPress={() => {
props.navigation.navigate("Screen_1", { itemId: Doe });
}}
有什么想法吗?
[1]:
你不能同时混合 props 和 props 对象的解构,因此声明
function Screen1(props, { route, navigation }) { ... }
无效。
您需要从 props
中解构所需的所有内容,或者使用 props 对象。
function Screen1({ route, navigation }) {
const { itemId } = route.params
}
或
function Screen1(props) {
const { itemId } = props.route.params
}
我收到标题中提到的错误,[这个][1] 等解决方案似乎不起作用。
用户从屏幕 1 开始,然后转到其他几个屏幕,然后再次回到屏幕 1。当用户(再次)进入屏幕 1 时,我想传递一些参数(并以某种方式使用这些参数来强制该组件的 re-render)。这是我的代码:
屏幕 1
function Screen 1(props, { route, navigation }) {
...
const { itemId } = route.params;
console.log(itemId);
屏幕 X(用户返回屏幕 1 之前访问的最后一个屏幕)
onPress={() => {
props.navigation.navigate("Screen_1", { itemId: Doe });
}}
有什么想法吗?
[1]:
你不能同时混合 props 和 props 对象的解构,因此声明
function Screen1(props, { route, navigation }) { ... }
无效。
您需要从 props
中解构所需的所有内容,或者使用 props 对象。
function Screen1({ route, navigation }) {
const { itemId } = route.params
}
或
function Screen1(props) {
const { itemId } = props.route.params
}