¿Cómo empujar el elemento dentro de useState array React hook? ¿Es eso como un método antiguo en estado de reacción? ¿O algo nuevo?
Por ejemplo, ¿ ejemplo de inserción de setState ?
Para ampliar un poco más, aquí hay algunos ejemplos comunes. Empezando con:
const [theArray, setTheArray] = useState(initialArray); const [theObject, setTheObject] = useState(initialObject);Empujar elemento al final de la matriz
setTheArray(prevArray => [...prevArray, newValue])Insertar/actualizar elemento al final del objeto
setTheObject(prevState => ({ ...prevState, currentOrNewKey: newValue}));Empujar/actualizar elemento al final de la matriz de objetos
setTheArray(prevState => [...prevState, {currentOrNewKey: newValue}]);Empuje el elemento al final del objeto de las matrices
let specificArrayInObject = theObject.array.slice(); specificArrayInObject.push(newValue); const newObj = { ...theObject, [event.target.name]: specificArrayInObject }; theObject(newObj);Aquí hay algunos ejemplos de trabajo también. https://codesandbox.io/s/reacthooks-push-r991u
Puede agregar una matriz de datos al final del estado personalizado:
const [vehicleData, setVehicleData] = React.useState<any[]>([]); setVehicleData(old => [...old, ...newArrayData]);Por ejemplo, a continuación, te mostramos un ejemplo de axios:
useEffect(() => { const fetchData = async () => { const result = await axios( { url: `http://localhost:4000/api/vehicle?page=${page + 1}&pageSize=10`, method: 'get', } ); setVehicleData(old => [...old, ...result.data.data]); }; fetchData(); }, [page]);