Вы можете попробовать это, используя Array.slice()
- Демо
class Home extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
lists: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
limit: 3
};
}
addMore = () => this.setState(prev => ({ limit: prev.limit + 3 }));
render() {
const { lists, limit } = this.state;
return (
<div>
{lists.slice(0, limit).map(list => (
<p style={{ background: "lightgrey" }} key={list}>
{list}
</p>
))}
{limit !== lists.length && (
<button onClick={this.addMore}>Load More</button>
)}
</div>
);
}
}