我试图将名称为“ key ”的参数传递给react组件,但它不起作用。如果我使用“ keyy ”而不是“key”,那么它就起作用了。
对我来说,“key”似乎是一个受限制的关键字,我不能将它用作参数名称。
真的吗?
那是我的例子:
render() {
<MyComponent key='apple'
keyy='pear'>
}
我试图将名称为“ key ”的参数传递给react组件,但它不起作用。如果我使用“ keyy ”而不是“key”,那么它就起作用了。
对我来说,“key”似乎是一个受限制的关键字,我不能将它用作参数名称。
真的吗?
那是我的例子:
render() {
<MyComponent key='apple'
keyy='pear'>
}
是的,这是真的,key 是一个受限制的关键字,不会作为props传播。
键用作 React 的提示,但它们不会传递给您的组件。如果您的组件中需要相同的值,请将其作为具有不同名称的 prop 显式传递:
const content = posts.map((post) =>
<Post
key={post.id}
id={post.id}
title={post.title} />
);
在上面的例子中,Post 组件可以读取 props.id,但不能读取 props.key。
在文档中阅读更多内容
Yeskey
关键字是保留的,这是 React 用来标识 html 元素的,它应该是唯一的。它有助于提高性能。我们应该为每个孩子添加一个密钥。这样 React 可以处理最小的 DOM 更改。
键可帮助 React 识别哪些项目已更改、添加或删除。应为数组内的元素提供键,以赋予元素稳定的身份。数组中使用的键在它们的兄弟中应该是唯一的。但是,它们不需要是全局唯一的。键用作 React 的提示,但它们不会传递给您的组件。如果您的组件中需要相同的值,请将其作为具有不同名称的 prop 显式传递。
key
是保留字。
从这里:
键可帮助 React 识别哪些项目已更改、添加或删除。应该为数组内的元素提供键,以赋予元素一个稳定的身份:
选择键的最佳方法是使用一个字符串,该字符串在其兄弟项中唯一标识列表项。大多数情况下,您会使用数据中的 ID 作为键。
这也很好,并解释了 React 使用key
参数的原因,以及有什么好处。你会发现key
param 是 React reconciliation algorithm的基石。
除了key
param之外,还有一些不应该使用的保留字,例如:
ref
和 dangerouslySetInnerHTML
dangerouslySetInnerHTML
您使用后一个而不是 DOMinnerHTML
在此处查看更多详细信息。