【问题标题】:Type 'string' is not assignable to type ' undefined'类型“字符串”不可分配给类型“未定义”
【发布时间】:2022-01-07 04:33:25
【问题描述】:

我有一个使用 useState 挂钩的 React 组件。 我试图将值设置为菜单项的一般 onClick。

const [value,setValue]= useState("");

<Menu.Item onClick={()=>setValue("general"))>

</Menu.Item>

在另一个文件中,我正在传递该值。

<ChannelForm
   value={value}
/>

我正在使用 TypeScript。已将 prop 类型定义声明为

value?: "general" | "competitive" | "social" | "podcast";

但是在将值作为道具传递时,我遇到了错误。

【问题讨论】:

  • 我们可以得到你的组件的完整代码吗?看起来你误解了 state 和 props 的作用,它们是不同的
  • 这个 props 类型的 value 定义在 ChannelForm 组件中。在 channelForm 组件中,我将值作为道具传递。

标签: javascript html css reactjs


【解决方案1】:

澄清一下 - 您使用的是界面吗?请参阅此问题:Using state in react with TypeScript,了解更多信息。

如果这没有帮助,问题可能是打字稿认为它被传递了一个空值。要解决这个问题,您可以使用non-null assertion operator。在这个答案中阅读更多相关信息:Typescript: Type 'string | undefined' is not assignable to type 'string'

如果这些都没有帮助,请告诉我!

【讨论】:

    猜你喜欢
    • 2021-09-14
    • 2021-08-19
    • 2018-07-20
    • 2021-10-19
    • 2018-06-24
    • 1970-01-01
    • 2021-04-06
    • 2019-07-12
    • 2021-09-19
    相关资源
    最近更新 更多