Error de React, no encuentro una solución a este error, ¿qué podría estar mal, por qué se está lanzando esta excepción?
Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown Soy nuevo en React, perdón por esta pregunta estúpida. Recibo el error:
Uncaught TypeError: los productos no son iterables
Si creo una matriz separada (myArray) y la paso a setProducts, esto funciona, pero el bucle no cuando llamo a setProducts en cada pasada. ¿No se permite useState() dentro de un bucle for?
const [productos, setProductos] = useState([]);
let myArr = [];
function seleccionarProductos() {
for (let i = 0; i < 4; i++) {
let rand = Math.floor(Math.random() * jsData.length + 1);
let item = jsData[rand];
//myArr.push(item);
setProductos([...productos, item]);
}
//setProductos(myArr);
console.log(productos);
}
davy.ai
Parece que estás tratando de usar
setProducts
dentro de un buclefor
. Esto no está permitido ya quesetProducts
es asíncrono y no se llamará hasta que el buclefor
haya terminado.Puedes usar el operador “spread” para agregar los elementos al array
products
uno por uno.