Estoy tratando de editar los datos del perfil del usuario, y cuando cambio el nombre en el campo de entrada, no cambiará, conserva el nombre que tiene el usuario.
const [nameInput, setNameInput] = useState(''); const editUserData = () => { const userParams = { phone: phone, fullName: nameInput, gender: value, birthdate: date, }; axios .put('url', userParams) .then((response) => { console.log('response', response.data); }) .catch((error) => { console.log(error.message); }); }; <TextInput style={styles.nameInputStyle} onChangeText={(event) => setNameInput(event)} value={nameInput} keyboardType="email-address" returnKeyType="done" onEndEditing={(e) => handleValidName(e.nativeEvent.text)} autoCapitalize="sentences" />
¿Cómo puedo cambiar el nombre del valor en el campo de entrada?
Debe configurarlo en event.target.value
, no event
:
<TextInput style={styles.nameInputStyle} onChangeText={(event) => setNameInput(event.target.value)} value={nameInput} keyboardType="email-address" returnKeyType="done" onEndEditing={(e) => handleValidName(e.nativeEvent.text)} autoCapitalize="sentences" />
EDITAR
event.target.value
no funcionará. Usa esto en su lugar:
<TextInput style={styles.nameInputStyle} onChangeText={setNameInput} value={nameInput} keyboardType="email-address" returnKeyType="done" onEndEditing={(e) => handleValidName(e.nativeEvent.text)} autoCapitalize="sentences" />