Tengo problemas para configurar la entrada para mostrar el marcador de posición en lugar de mostrar el valor del estado.
const initialState = [ { name: "Chris", age: 0, height: 0, weight: 0, }, ]; const [infoValue, setInfoValue] = useState(initialState) <div> <input type="number" placeholder={0} value={infoValue.age} onClick={} onChange={} /> </div>¿Hay algo que pueda hacer en onChange o onClick donde el usuario puede simplemente ingresar sus valores sin tener que eliminar primero el 0 inicial?
El valor inicial es 0, por lo que aparecerá en el campo. La cadena vacía podría funcionar.
<input type="number" placeholder="0" value="" /> El fragmento anterior fue para demostración, solo necesita cambiar el valor de la propiedad de age en su código.
const initialState = [ { name: "Chris", age: '', height: 0, weight: 0, }, ];Esta es la respuesta si desea que la edad en el estado comience con 0.
const initialState = [ { name: "Chris", age: 0, height: 0, weight: 0, }, ]; const [infoValue, setInfoValue] = useState(initialState) <div> <input type="number" placeholder={0} value={infoValue.age||''} onClick={} onChange={} /> </div>Puede establecer el valor inicial como lo estamos haciendo, pero para cambiar a medida que el usuario escribe una nueva edad, puede hacer esto:
const initialState = { name: "Chris", age: 0, height: 0, weight: 0, },;
const [infoValue, setInfoValue] = useState(initialState)
<div> <input type="number" placeholder={0} value={infoValue.age} onChange={(e) => setInfoValue({...infoValue, age: e.target.value )} /> </div>