const items = props.items; const renderItem = props.renderItem; const perPage = props.perPage || 10; const jItems = JSON.stringify(items); if (state.jItems !== jItems) { State.update({ widgets: 10, jItems, }); } const makeMoreItems = () => { State.update({ widgets: state.widgets + perPage, }); }; const rendered = await Promise.all( items.slice(0, state.widgets).map(renderItem) ); return ( <InfiniteScroll pageStart={0} loadMore={makeMoreItems} hasMore={state.widgets < items.length} loader={<div className="loader">Loading ...</div>} > {rendered} </InfiniteScroll> );