javascript - TypeScript 属性 'navigation' 类型中缺失,但类型 'Props' React Native 中需要

标签 javascript reactjs typescript react-native

在 React Native 应用程序中,我知道当您在 createAppContainer 中传递 RootNavigator 并将其导出时,导航 prop 在所有子组件中隐式可用。

export default createAppContainer(AppNavigator);

我有这个组件,应该使用导航 Prop 导航到另一个屏幕。我为这个组件的 props 定义了一个接口(interface),如下所示:

ComponentA 的 props 接口(interface):

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 新手,所以这可能是一件微不足道的事情,但我将不胜感激任何帮助。

谢谢

最佳答案

您可以通过 ? 来使用可选 Prop

interface Props {
  count: number;
  navigation?: NavigationStackProp<{quizId: number}>;
}

关于javascript - TypeScript 属性 'navigation' 类型中缺失,但类型 'Props' React Native 中需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60225174/

相关文章:

javascript - 如何在nextjs中添加active className

angular - 如何在不使用angular 2+中的ngmodel的情况下为输入设置一个值

javascript - jQuery $(this).html(text) 在嵌套 div 中不起作用

javascript - 如何以这种方式设计/显示这个数组? - CSS/Javascript

javascript - GoJS:如何更改节点填充颜色?

Javascript 将回调函数添加到传递的回调变量中

javascript - 在Reactjs中根据条件导入组件(Conditional based import)

javascript - react 等待服务器响应

javascript - React Typescript,从外部脚本调用函数

angular - 当我尝试更新 NativeScript 项目时收到错误消息