Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

94
Vistas
¿Cómo agregar valores de estado a matriz en la aplicación de reacción?

Estoy tratando de enviar un nuevo valor a las matrices, pero las matrices no se actualizan con nuevos valores. Solo contiene un valor después de empujar. El valor de arr después de hacer clic en el botón solo muestra un valor, pero quiero que tenga múltiples valores. ¿Cuáles son las múltiples formas de poner valores en una variable arr o copiar el valor a otra variable?

 function App() { const [value, setValue] = useState(null); let arr = []; function addToArr() { console.log(value); arr.push(value); console.log(arr); // it is only showing one value } return ( <div>react app <div> <textarea value={value} onChange={(e) => setValue(e.target.value)} > </textarea> <button onClick={addToArr}>Add</button> </div> </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Tu problema es que pones let arr = []; en la App del componente que se volverá a procesar cada vez que cambie el estado, su arr también se restablecerá.

Una posible solución podría ser mover su declaración arr fuera de la App del componente.

 let arr = []; //move it to the global scope function App() { const [value, setValue] = useState(null); function addToArr() { console.log(value); arr.push(value); console.log(arr); } return ( <div>react app <div> <textarea value={value} onChange={(e) => setValue(e.target.value)} > </textarea> <button onClick={addToArr}>Add</button> </div> </div> ); } export default App;

Si desea mantener arr internamente, puede usar useRef que solo se refiere al mismo objeto durante las re-renderizaciones.

 import React, { useRef, useState } from 'react' function App() { const [value, setValue] = useState(null); const arrRef = useRef([]); function addToArr() { console.log(value); arrRef.current.push(value); console.log(arrRef.current); } return ( <div>react app <div> <textarea value={value} onChange={(e) => setValue(e.target.value)} > </textarea> <button onClick={addToArr}>Add</button> </div> </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para ello tienes 2 formas:

  1. Arr de elevación variable antes del componente
 let arr = []; function App() { const [value, setValue] = useState(null); ... } export default App;
  1. Usando un nuevo estado
 function App() { ... const [newArrValue, setnewArrValue] = useState([]); const addToArr = () => { ... newArrValue.push(value); setnewArrValue(newArrValue); console.log(newArrValue); }; ... } export default App;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda