react 中 { downloadArray.forEach(function (value, key) { console.log(key, value); return <li className='fs' key={value.sUrl}> <p className='c-name'>{value.title ? value.title : '歌曲名称'}</p> <div className='c-process'> <Progress percent={value.process ? value.process.toFixed(2) : 0} strokeColor={'#f48d37'} trailColor={'#e8e8e8'} status="active" /></div> <div className='c-size'>{value.size ? value.size : '歌曲大小'}</div> </li> }) } 这段遍历没有显示在页面上。
时间: 2024-02-10 16:04:11 浏览: 93
vue或react项目生产环境去掉console.log的操作
在 React 中,要在 JSX 中渲染数组,必须使用 `map()` 方法将其转换为一个新的数组,然后将其渲染到 JSX 中。在你的代码中,遍历 `downloadArray` 数组的代码并没有将其转化为一个新的数组,只是在控制台中输出了每个元素。因此,没有在页面上显示出来。
你可以将代码修改为以下形式,使用 `map()` 方法将 `downloadArray` 数组转化为一个新的 JSX 元素数组,并将其渲染到 `<ul>` 元素中:
```
<ul>
{downloadArray.map(function (value, key) {
return (
<li className="fs" key={value.sUrl}>
<p className="c-name">{value.title ? value.title : '歌曲名称'}</p>
<div className="c-process">
<Progress
percent={value.process ? value.process.toFixed(2) : 0}
strokeColor={'#f48d37'}
trailColor={'#e8e8e8'}
status="active"
/>
</div>
<div className="c-size">{value.size ? value.size : '歌曲大小'}</div>
</li>
);
})}
</ul>
```
在上面的代码中,我们将遍历 `downloadArray` 数组的代码从大括号中移动到了 JSX 元素数组中,并使用 `map()` 方法将其转化为一个新的 JSX 元素数组。最后,将该数组渲染到了 `<ul>` 元素中。
阅读全文