我正在尝试创建一个函数,该函数接受一个单词数组,例如:
const words = ['hello', 'my', 'name']
并以以下格式返回它们:
<>
<span>hello</span> // <span>my</span> // <span>name</span>
</>
这是我创建的react组件:
function StyleWords({words, ...props}){
return(
words.map((word, index, words) => {
if(index != words.length-1){
return <><span key={word} className='highlight'>{word}</span> // </>
}
else{
return <span key={word} className='highlight'>{word}</span>
}
})
)
}
然后这样称呼它:
<div><StyledWords words={['hello', 'my', 'name']} /></div>
现在这个确实起作用了,但是我得到了关于钥匙的警告。所以我的想法是要么我做得不恰当,要么我错过了钥匙的一些东西。有什么帮助吗?
2条答案
按热度按时间vq8itlhq1#
您需要为组件提供
key
,该组件是列表中项目的根。正如Lokesh所建议的,如果不能保证
key
是唯一的,则应该使用key
作为项的唯一值,而不是使用word
。a1o7rhls2#
其他一些优化:
1.顶级元素需要键属性。
1.如果只使用一个元素,则不需要片段。
1.不需要
words.map((word, index, words)
。