Tengo un problema bastante simple.
No sé por qué mi función useState no cambiará de estado -> props
onChangeText={(text) => { setProps({ ...props, inputValue: text }); }}Declaré mi estado como aquí:
const [props, setProps] = useState({ pageNumber: 2, inputValue: "", });¡Gracias por adelantado!
Se garantiza que prevState recibido por la función de actualización esté actualizado. Es una referencia al estado del componente en el momento en que se aplica el cambio. documentos oficiales
onChange={(event) => { setProps(prevState => { return { ...prevState, inputValue: event.target.value } }); }} Además, si tiene una input , simplemente use el evento nativo onChange en lugar de onChangeText personalizado
Escribiste ' onChangeText ' en lugar de ' onChange '. Y le da el objeto de evento en lugar del texto en sí. Debería ser así:
<input onChange={(event) => { setProps({ ...props, inputValue: event.target.value }); }} />Lo que estás haciendo es correcto y no tiene nada de malo.
necesita pasar su valor de estado a la entrada
import { useState } from "react"; export default function App() { const initialState = { pageNumber: 2, inputValue: "" }; const [props, setProps] = useState(initialState); const textInputChangeHandler = (e) => { setProps({ ...props, inputValue: e.target.value }); }; return ( <div className="App"> <input value={props.inputValue} type="text" onChange={textInputChangeHandler} /> </div> ); }