类型中缺少 TypeScript 属性“导航”,但类型“道具”React Native 中需要
Posted
技术标签:
【中文标题】类型中缺少 TypeScript 属性“导航”,但类型“道具”React Native 中需要【英文标题】:TypeScript Property 'navigation' is missing in type but required in type 'Props' React Native 【发布时间】:2020-05-30 04:26:35 【问题描述】:在 React Native 应用程序中,我知道当您将 RootNavigator 传递到 createAppContainer 中并将其导出时,导航 prop
会隐式地在所有子组件中可用。
export default createAppContainer(AppNavigator);
我有这个组件应该使用导航道具导航到另一个屏幕。我为这个组件的 props 定义了一个接口,如下所示:
ComponentA 的props 接口:
interface Props
count: number;
navigation: NavigationStackProp<quizId: number>;
现在我像这样渲染 ComponentA:
...
render()
return (
<ComponentA count=0 /> // TypeScript screams here that I am not passing the navigation props
);
如果我像这样使用 ComponentA 传递导航道具:
<ComponentA count=0 navigation=props.navigation />
TypeScript 很满意。
因此,我的问题是,我是否必须像这样明确地传递导航道具?我觉得不对。有没有办法可以在这种特殊情况下抑制 TypeScript 警告。
我是 TypeScript 的新手,所以这可能是微不足道的事情,但我将不胜感激。
谢谢
【问题讨论】:
【参考方案1】:您可以通过 ?
使用可选道具
interface Props
count: number;
navigation?: NavigationStackProp<quizId: number>;
【讨论】:
以上是关于类型中缺少 TypeScript 属性“导航”,但类型“道具”React Native 中需要的主要内容,如果未能解决你的问题,请参考以下文章
与 Typescript 反应 - 类型 缺少类型中的以下属性
如何修复 Typescript 中的“以下属性中缺少类型''...”错误?
VS Code 中的 Vue Array Prop JSDoc TypeScript 错误:“ArrayConstructor”类型缺少“MyCustomType []”类型中的以下属性