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
}