tengo 2 estados de uso que quiero agregar ambos cuando llamo a SubmitData allValues tiene muchos datos nombre, edad, sexo, etc. quiero agregar domestic también en todos los valores
const changeHandler = (e) => { setAllValues({ ...allValues, [e.target.name]: e.target.value }); }; const SubmitData = () => { console.log(domestic); const formData = { ...allValues }; if (!domestic) { formData.domestic = domestic; } var custumer = parseInt(id); if (!custumer) { formData.customer = custumer; } cuando allValues está vacío y solo paso el valor de domestic , recibo el siguiente error
TypeError: Cannot set properties of undefined (setting 'domestic')
ACTUALIZADO
Como ha estado enfrentando un problema undefined , actualizo un poco la lógica
const formData = {...allValues} if (!domestic_voilence) { formData.domestic = domestic_voilence; } const customer = id ? parseInt(id) : null; if (!customer) { formData.customer = customer; } //TODO: submit your form data insteadORIGINAL
Simplemente puedes hacerlo de esta manera.
if(domestic !== null) { allValues.domestic = domestic } Completará automáticamente sus datos domestic en allValues .
Si quieres tener formData como la variable principal
const formData = { ...allValues, } if(domestic !== null) { formData.domestic = domestic }versión ES5
const formData = Object.assign({}, allValues); if(domestic !== null) { formData.domestic = domestic }