Я хотел хранить в массиве 4 привет. Вместо того:
strArr.push('hi');
strArr.push('hi');
strArr.push('hi');
strArr.push('hi');
Я сделал это:
for(let i = 0; i<4; i++){
setStrArr([...strArr, "hi"])
}
Однако я получаю эту ошибку: Ошибка: слишком много повторных отрисовок. React ограничивает количество рендеров, чтобы предотвратить бесконечный цикл
Я не мог понять, что было не так, и мне было интересно, не доходит ли это при i = 3. Итак, я проверил:
for(let i = 0; i<4; i++){
setStrArr([...strArr, "hi"])
if(i==3){
console.log("done")
}
}
Значение i действительно достигло 3, но почему мой код запускается снова?
Это мой код:
function MyApp(){
const [strArr, setStrArr] = useState([]);
for(let i = 0; i<4; i++){
setStrArr([...strArr, "hi"])
if(i==3){
console.log("done")
}
}
return(
<div>
</div>
)
}