在 React 中渲染图像数组
Rendering Array of Images in React
我需要帮助。我一直在搜索类似的帖子,但其中 none 解决了我的问题 (imagesPool.js)
import React from 'react';
const imagesPool = [
{ src: './images/starbucks.png'},
{ src: './images/apple.png'},
{ src: './images/mac.png'}
];
export default imagesPool;
渲染图像(App.js):
import React from "react";
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
<img src={imagesPool} />
</div>
)};
export default App;
结果:没有显示图像
如果要渲染 jsx/tsx,则始终需要从 'react' 导入 React。在您的代码中,您正在返回 jsx,因此您需要导入 react。
import React from 'react';
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
{imagesPool.map((image) => <img key={image.src} src={image.src} />)}
</div>
)};
export default App;
在 React 中,您使用 javascript 解决条件、迭代等问题(请记住,<img>
也只是 javascript 并被解析为 React.createElement("img")
)。
由于 img
需要 src
-属性 中的字符串,我们需要遍历源数组并为每个源生成一个 img
-Element :
<div>
{
imagesPool.map(({ src }) => (<img key={src} src={src} />))
}
</div>
使用 key
你告诉 React 如何识别一个元素与后续渲染相同。
您应该遍历图像,因为 src
需要图像的字符串位置。
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
{imagesPool.map((imgSrc, index) => (<img src={imgSrc.src} key={index} alt="Make sure to include a alt tag, because react might throw an error at build"/>))}
</div>
)};
我需要帮助。我一直在搜索类似的帖子,但其中 none 解决了我的问题 (imagesPool.js)
import React from 'react';
const imagesPool = [
{ src: './images/starbucks.png'},
{ src: './images/apple.png'},
{ src: './images/mac.png'}
];
export default imagesPool;
渲染图像(App.js):
import React from "react";
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
<img src={imagesPool} />
</div>
)};
export default App;
结果:没有显示图像
如果要渲染 jsx/tsx,则始终需要从 'react' 导入 React。在您的代码中,您正在返回 jsx,因此您需要导入 react。
import React from 'react';
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
{imagesPool.map((image) => <img key={image.src} src={image.src} />)}
</div>
)};
export default App;
在 React 中,您使用 javascript 解决条件、迭代等问题(请记住,<img>
也只是 javascript 并被解析为 React.createElement("img")
)。
由于 img
需要 src
-属性 中的字符串,我们需要遍历源数组并为每个源生成一个 img
-Element :
<div>
{
imagesPool.map(({ src }) => (<img key={src} src={src} />))
}
</div>
使用 key
你告诉 React 如何识别一个元素与后续渲染相同。
您应该遍历图像,因为 src
需要图像的字符串位置。
import imagesPool from './imagesPool';
const App = () => {
return (
<div>
{imagesPool.map((imgSrc, index) => (<img src={imgSrc.src} key={index} alt="Make sure to include a alt tag, because react might throw an error at build"/>))}
</div>
)};