Вы можете разделить ваш массив на куски, прежде чем обрабатывать его для рендеринга.
скажем, если у вас есть array = [1,2,3,4,5,6,7,8]
на 3 порции [ [1,2,3],[4,5,6],[7,8] ]
Манипуляция
this.state = {
allFolders:[] //myarray initially in constructor
}
Обрабатывать этот массив в куски с помощью соединения
chunkArray(myArray, chunk_size){
var results = [];
while (myArray.length) {
results.push(myArray.splice(0, chunk_size));
}
return results;
}
Теперь вы можете установить свой массив в чанки, в componentWillMount () или в другую функцию, которая повторно отображает ваш компонент после перевода его в состояние.
componentWillMount(){
let allFolders = Object.assign([],this.state.allFolders);
allFolders = chunkArray(allFolders,4); //creates a chunk of 4 arrays.
this.setState({allFolders});
}
Render
{this.state.allFolders.map((item)=>
{item.map((folder)=> //will run every chunk. i.e. 4 times in your case
<p>{folder.name}</p>
)}
)}
PS Однако лучше использовать некоторое свойство overflow-y:hidden
css с минимальными усилиями.