reactjs - 在组件上传播道具并使用打字稿在组件内部进行解构
问题描述
我想知道将道具传播和破坏与组件结合使用的最佳方法是什么。
我像这样传播我的道具:
<RepositoryItem {...node} />
在我像这样解构组件中的道具之后:
interface RepositoriesProps {
name: string
url: string
}
const RepositoryItem: React.FC<RepositoriesProps> = ({ name, url }) => {
return (
<div className="repository_item">
{name} {url}
</div>
)
}
当然,这样做会出现以下错误:Type '{}' is missing the following properties from type 'RepositoriesProps': name, url
在我调用组件的第一部分。
我怎样才能解决这个问题?还是不使用道具传播更好?
任何帮助将不胜感激!
解决方案
您应该直接指定类型
const RepositoryItem: React.FC<RepositoriesProps> = ({ name, url }: RepositoriesProps) => {
并且您node
应该具有类型扩展RepositoriesProps
节点:MyNode
where MyNode
isinterface MyNode extends RepositoriesProps {}
但基本上我认为您应该只为node
包含定义接口url
并name
为打字稿提供一些知识(不是{}
)
推荐阅读
- android - React Native:是否可以控制启动图像在应用打开时显示多长时间?
- python - 将 bool 从 feed_dict 传递给函数不起作用
- batch-file - delete 命令在 for 循环之前运行
- c# - 如何使用 Interop 与 C# 读取嵌入在 Word 文档中的 Excel?
- python - ValueError:检查输入时出错:预期dense_1_input的形状为(1、224、224)但得到的数组形状为(224、224、1)
- c# - Selenium 无法在 Firefox 驱动程序中加载特定创建的配置文件
- amp-html - amp-iframe JavaScript 实现
- python - 将文件从服务器传输到本地计算机
- python - 如何在 2 个浮点数之间插入运算符号并计算结果?
- python - 我需要将此功能的打印输入到 tkinter 页面