在 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/