Así que tengo una lista de componentes que quiero cargar y almacenar en una matriz
por ejemplo array = [<component1/>,<component2/>,<component3/>,]
así que este es mi código y cómo he estructurado todo para que funcione
Declaraciones:
let components = []Cargando componentes en la matriz:
useEffect(() => { for(let i=0;i<length;i++){ components[i] = <RadioButtonRN data={roadsigns.signs_questions[i].answers} box={false} textColor={primary} initial={2} selectedBtn={(e) => selectedAnswer(e)} /> } connsole.log(components) },[])Devolución de componentes para exhibición:
return ( <div> {components} </div> ); };De alguna manera, este código carga el componente en la matriz, pero no muestra nada.
Debe incluir una key para cada componente. Estoy bastante seguro de que debería funcionar una vez que haga esto (suponiendo que el } final después de su return sea el final de la función.
Para una asignación de key simple:
components[i] = <RadioButtonRN key={i} data={roadsigns.signs_questions[i].answers} ... />prueba esto
import React from "react"; function App() { const compArray = () => { let arr = []; for (let i = 0; i < 3; i++) { arr.push(<Name />); } return arr; }; return <>{compArray()}</>; } export default App; function Name() { return <h1>Hello world </h1>; }Si quieres una matriz de los mismos componentes,
return < > { components.map((el, i) => < Yourcomponent key = { i } otherParams = { el } />)} < />