我正在用material-ui做一个reactjs应用程序,我已经看到了很多reacjs延迟加载组件的示例。.但是我有一个来自material-ui的GridListTile对象数组,我将它们加载到Gridlist组件中,这个GridListTile数组是调用array.map()的结果。
我已经尝试过将Suspense放入GridList和array.map()中,我在lazy()调用内返回每个GridListTile,但是显然它不能正常工作,因为它需要一个组件等等。
这是我的GridList:
<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多个磁贴。