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中的文章,了解有关键入导航堆栈其他元素的更多详细信息和示例