繁体   English   中英

React - 如何使用打字稿定义道具

[英]React - How to define props with typescript

这里有一个演示

它是一个在 React 中使用打字稿的简单待办事项应用程序。

我正在尝试在打字稿中定义道具。

我在 Todo 组件中有一个接口,用于传入的道具

如果我尝试访问 Todo 组件中的文本,我会收到一条错误消息

Property 'text' does not exist on type 'string'.

如何使用打字稿正确定义道具

您将todo定义为字符串,但将其用作包含text属性作为字符串的对象。 因此,你的道具定义应该是这样的:

interface IProps {
  index: number,
  todo: { text: string }
}

你需要使用接口来定义你的道具。 看看下面的例子:

import * as React from 'react'    

interface IProps {
   name: string
   isActive?: boolean
}

const MyAwesomeComponent: React.FC<IProps> = ({name, isActive})=> (
    <p>Hello {name}. Your status is {isActive ? 'active': 'inactive'}</p>
)

name是必需的,但不是isActive

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM