在渲染中调用的函数中的反引号

Backticks in a function that gets called in render

我做错了什么?我在 render()

中调用的函数中返回 return children;
children.push(<img key="`${this.data_images.hits[i].id}`" src="`${this.data_images.hits[i].previewURL}`"/>)

Warning: Encountered two children with the same key, ${this.data_images.hits[i].id}

渲染输出为

<img src="`${this.data_images.hits[i].previewURL}`">
"`${this.data_images.hits[i].id}`"

这是简单的字符串 如果你想让你的模板工作 - 你需要删除 qoutation 和过去的 {} 。

所以代码是

children.push(<img key={`${this.data_images.hits[i].id}`} src={`${this.data_images.hits[i].previewURL}`}/>)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals