reactjs - 延迟加载和对象数组而不是组件?
问题描述
我正在使用 material-ui 做一个 reactjs 应用程序,我已经看到了许多 reacjs 延迟加载组件的示例。但是我有一个来自 material-ui 的 GridListTile 对象数组,我将它们加载到 Gridlist 组件中,这个 GridListTile 数组是一个 array.map() 即时调用..
我已经尝试将 Suspense 放在 GridList 和 array.map() 中,我在lazy() 调用中返回每个 GridListTile,但显然它无法正常工作,因为它需要一个组件等......
这是我的网格列表:
<Paper style={{ margin: 25, padding: 25 }}>
<GridList
spacing={10}
cols={5}
cellHeight="auto"
>
<Suspense fallback={<div>Loading...<div>}
{this.state.collectionList}
</Suspense>
</GridList>
</Paper>
这是我的 array.map() 我返回 this.state.collectionList 的内容
const tempCollectionList = res.data.map(item => {
return (
lazy.(() = (
<GridListTile key={item._id}>
<img
src={item.pathToImage}
alt={item.title}
/>
</GridListTile>
));
});
this.setState({
collectionList: tempCollectionList
});
但我只是得到错误,很多,比如那些不是反应组件和很多其他错误..关键是它没有加载,原因很明显,延迟加载仅适用于组件
但是我怎样才能实现对象数组的延迟加载呢?我在 this.state.collectionList 中有 100 多个图块。
解决方案
推荐阅读
- java - 我们如何从firebase下载android studio中的文件(pdf),使其不会出现在手机的内部存储中?
- typescript - 带有 TypeScript 的 GatsbyJS:在布局中获取页面上下文?
- apache - 将 csv 文件加载到 Apache Phoenix 表并记录无效数据行
- mysql - ERROR 1265 (01000): 第 1 行的列 ' ' 的数据被截断
- python - _mysql_exceptions.ProgrammingError - 如何处理?
- kotlin - 如何在 Kotlin 中对查询参数进行 url 编码
- machine-learning - 神经网络无法识别基本输入模式
- python - Apply different loss function to part of tensor in keras
- docker - 无法使用 conda-forge 部署 docker 解决方案
- css - CSS如何打破一个方向的流动