- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
运行 EsLint 时出现此错误: 70:33 error Missing "key" prop for element in arra-6ren">
这是我的代码
<RadioButtons
type="test"
field="test"
optionInclude={['1', '2', '3']}
optionOrder={['1', '2', '3']}
updateValue={[
{ key: '1', value: 'test' },
{ key: '2', value: 'test2' },
{ key: '3', value: 'Other' }
]}
icons={[
<Icon variant="male" size={35} />,
<Icon variant="female" size={35} />,
<Icon variant="plus" size={35} />
]}
/>
70:33 error Missing "key" prop for element in array react/jsx-key
71:33 error Missing "key" prop for element in array react/jsx-key
72:33 error Missing "key" prop for element in array
Icons
数组,这就是错误所指的内容。
RadioButtons
的 PropTypes组件是
RadioButtons.propTypes = {
...
icons: PropTypes.array,
};
最佳答案
由于这个问题没有答案,我将重申评论中的内容:当您重复 React 中的任何元素(包括您的自定义 Icon
元素)时,那些重复的元素必须都具有 key
定义的属性。
关于虚拟 DOM 的详细说明,供好奇的人使用
原因与 React 的 Virtual DOM 有关。对 React 的简单理解是这样的:
<ul>
...
<ul>
<li>Item #1</li>
<li>Item #2</li>
<li>Item #3</li>
<!--... -->
<li>Item #25</li>
</ul>
(假设你使用
map
在 React 中生成它,但你如何准确地制作
<ul>
是无关紧要的。)
<li>
元素......即使只有其中一个发生了变化。
.html()
方法来完成相同的事情)!
<li>
在#1 ...或者它可能是一系列更新(#1 => 25,#2 =>#1,#3 =>#2,...)
<li>
是哪个。如果每个元素都没有唯一标识符,移动的元素可能看起来像是被删除/创建的东西,或者像很多东西被更新了。
key
prop 出现:每当你重复元素(比如那些
<li>
s),React 很难区分它们......但它需要能够使用 Virtual DOM 来让你的应用程序更快。
关于javascript - react esLint 错误 : Missing "key" prop for element in array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55478124/
我遵循文档中的说明 https://www.gatsbyjs.org/docs/eslint/ ,并想覆盖其中一条规则,但不影响其他规则,我所做的是创建一个 .eslintrc.js 文件。 这是文件
是否可以覆盖 TSLINT (tslint.json) 中特定文件的规则,就像沿着这些行的配置一样: "overrides": [{ "files": [ "*.spec.js" ], "ru
我一直试图让 ESLint 在 VS Code 中处理一个新的 Angular 项目,但它无法加载“@typescript-eslint/eslint-plugin”。在过去的 3 个小时里,我一直在
我在某个文件夹中有一些文件,而这些文件来自供应商,因此我无法控制它们。我想为该目录和所有子文件夹中的所有文件禁用 eslint。 最佳答案 您可以添加 .eslintignore在项目根目录下,和.g
我第一次尝试使用汇总,但我不明白为什么会出现此错误: TypeError: eslint is not a function 我之前安装了 rollup (v1.1.0) 然后 eslint npm
我正在尝试使用预提交 Hook 在提交发生之前检测 eslint 错误。我正在使用 husky 和 lint-staged。但它对 src 中的所有文件运行 lint 命令,而不是仅对暂存文件运行
我不确定我正在使用的东西是否存在错误,或者我是否只是在这里设置了错误,但是我在运行 eslint src --fix 关于“eslint-plugin-@typescript-eslint” 我已经指
我正在按照说明从 here 设置 ESLint . ESLint 失败并显示以下消息: $ npm run lint > IACS@1.0.0 lint /some/path/sscce-typesc
我正在使用 airbnb-eslint 和 babel-plugin-module-resolver。我在使用别名导入的每个 js 文件中都收到此错误。 { "extends": ["plugi
我正在将我的项目从 tslint 重新配置为 eslint。我可以手动运行 eslint,但 webpack 无法运行并显示以下错误消息: Module build failed (from /pat
我正在尝试使用 svelte 制作一个应用程序来试用它。 我想设置 prettier 和 eslint,我安装了这些依赖项和 Svelte for VS Code 的扩展。 "dependenci
我正在寻找一个规则来对齐所有 =在任务上。 像这样的事情将是积极的: var foo = 12; var barfoo = 21; var barfoobar = 22; 像这样的事
设置后eslint并在忽略列表中添加一些文件,每次运行 eslint 时,它都会生成有关被忽略文件的警告: /path/to/file/name.min.js 0:0 warning Fil
是否可以将 ESLint 配置为仅将规则应用于名称与特定模式匹配的文件?我知道在目录中可以有单独的规则表,但如果结构如下: app | |- module1 | |- module1.js |
有没有办法禁用文件夹的特定规则?例如,我不希望 test 文件夹中的所有测试文件都包含必需的 JSDoc 注释。有办法做到这一点吗? 最佳答案 要从 eslint 规则中忽略某些文件夹,我们可以在根目
缩进规则似乎无法禁用;如何(在配置设置中)禁用此规则?谢谢。 最佳答案 将规则设置为 "off"在你的配置中是这样的: "rules": { "indent": "off" } 您可以在 the
ESLint 有 dot-location允许决定您是否愿意的规则 object. property 或者 object .property 当打破点时(我更喜欢后者)。 但是,我找不到确保点与对象具
这些库之间有什么区别? babel-eslint [ github.com/babel/babel-eslint ] eslint-plugin-babel [github.com/babel/esl
我想把 Prettier 和 ESLint 一起用,但是一个接一个用就遇到了一些冲突。我看到有这三个包似乎允许它们串联使用: prettier-eslint eslint-plugin-prettie
我正在尝试使用React.js和TypeScrip在ASP.NET核心MVC项目中启用eslint linting,并且正在努力修复上面的错误。。我使用的是Visual Studio2022社区版17
我是一名优秀的程序员,十分优秀!