Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在react navigation v5上使用带有useRoute的typescript_Reactjs_Typescript_React Native_React Navigation_React Navigation V5 - Fatal编程技术网

Reactjs 在react navigation v5上使用带有useRoute的typescript

Reactjs 在react navigation v5上使用带有useRoute的typescript,reactjs,typescript,react-native,react-navigation,react-navigation-v5,Reactjs,Typescript,React Native,React Navigation,React Navigation V5,我试图使用useRoute提取参数,如下所示 const route = useRoute(); const { params } = route; const { id, name, } = params; 一切正常,但门楣突出显示了id和name,出现以下错误 类型“object |未定义”上不存在属性“id” 如何克服这个问题。react navigation导出了一些实用程序类型,以便在为自己的组件使用钩子和定义道具时更轻松。它们取决于您首先为导航器定义类型 假

我试图使用
useRoute
提取参数,如下所示

  const route = useRoute();
  const { params } = route;
  const {
   id, name,
  } = params;
一切正常,但门楣突出显示了
id
name
,出现以下错误

类型“object |未定义”上不存在属性“id”


如何克服这个问题。

react navigation导出了一些实用程序类型,以便在为自己的组件使用钩子和定义道具时更轻松。它们取决于您首先为导航器定义类型


假设您有一个包含两个屏幕a和B的堆栈。首先定义每个屏幕的参数:

类型StackParamsList={
A:未定义;
B:{
id:字符串;
名称:字符串;
};
}
在屏幕B中键入
useRoute

从'@react-navigation/native'导入{RouteProp};
const route=useRoute();
route.params.id//OK
route.params.foo//错误
查看react navigation docs中的文章,了解有关键入导航堆栈其他元素的更多详细信息和示例