Obtuve una lista de campos de texto como este y un botón de eliminación para cada campo.
{Object.keys(customProperties).map((item, index) => { return <Controller key={index} render={({ field }) => <TextField label={item} {...field} isDeleteBtn={true} onDeleteBtnClick={onDeleteField} />} name={customProperties.${item}} control={control} />; })}Mi código de eliminación parece
const onDeleteField = (customPropertyKey) => { const { ...properties } = customProperties; delete properties[customPropertyKey]; setValue('customProperties', properties); };Pero setValue('customProperties', properties); está eliminando la clave pero los valores se intercambian.
eg: customProperties = { firstName: 'john', secondName: 'don' }Después de eliminar firstName
en resultado de
customProperties = { secondName: 'John' }Cualquier ayuda por favor