La aplicación My React tiene un formulario para agregar un nuevo producto y cada producto tiene una serie de propiedades. Cuando se agrega el producto, redirijo al usuario a la página de productos guardados y puede editar cualquier producto guardado. Me he encontrado con algunos problemas (no importantes) con los estados. En algunas áreas al editar, el estado muestra los atributos de otros productos porque no se ha actualizado.
Quiero borrar el estado para que, si el estado de un atributo de producto no se actualiza, sea simplemente una cadena vacía. Ahora mismo estoy haciendo esto:
const resetStates = () => { setName(""); setDescription(""); setPrice(null); }Estos son solo algunos de los estados que se utilizan, por lo que es engorroso tener que restablecerlos todos de esta manera. hay una manera mas facil?
Puede agregar las propiedades de estado en un solo objeto, como el estado de los componentes de clase.
[formContent, setFormContent] = useState({name:'',desc:'',price: null}); const resetStates = ()=> { setFormContent({name: '', desc: '', price: null}); } Sin embargo, los documentos de reacción parecen preferir ligeramente las variables de estado separadas sobre un solo objeto, ya que, a diferencia this.setState , al actualizar una variable de estado usando ganchos, reemplaza su valor.