【发布时间】:2020-01-17 08:35:06
【问题描述】:
所以我有一个组件,这个组件被传递给一个 HOC,它应该增强原始组件。
我为组件正在接收的道具声明了一个类型,但我仍然收到错误“TS2741”,它说:
Property 'auth' is missing in type '{}' but required in type 'AppProps'
我写了一个小例子,你可以在这里看到: https://stackblitz.com/edit/react-ts-huaq8s
所以我的猜测是,TypeScript 从withAuth 的返回函数中检查props 是否具有通过我们的类型声明的属性。这只会失败,因为我们正在检查的属性是稍后添加的(通过<WrappedComponent ... />)
根据我目前的知识,我猜我必须以某种方式告诉 TypeScript,应该检查返回的 WrappedComponent 是否有 P。但我不知道该怎么做。
所以很明显,在我问这个问题之前,我在论坛里看了很多网上的文章和一些问题,但还是找不到答案。
有人可以帮帮我吗?
【问题讨论】:
-
在您共享的示例中,
App似乎根本没有使用withAuth,但需要将auth作为道具提供(您没有提供也没有将 App 包装在任何东西上) .我觉得我在这里缺少一些上下文 -
抱歉,我忘了用
withAuth包裹App。
标签: reactjs typescript