En React tengo algunos filtros en un estado:
this.state { filters: [countries: {parameterName: 'country', value: 'England'}, {parameterName: 'country', value: 'Greenland'}] }En una función onClick-Handler recibo uno de estos objetos:
removeFilter(filter) { console.log('remove->', filter); // outputs: {value: 'England', parameterName: 'country'} }¿Hay alguna manera de eliminar ese objeto de mi estado usando setState? Actualmente trato de usar 'buscar' para obtener el objeto dentro del estado en sí, pero no estoy seguro de cómo eliminarlo:
let found ? this.state.filters[filter.parameterName].find(element => element.value === filter.value))Parece que esta es una pregunta de administración del estado de reacción, por lo que desea evitar la mutación, con eso quiero decir que no desea manipular el objeto de matriz original. Entonces, desea crear una nueva matriz que excluya la que desea eliminar. Me gusta:
const newFilter = countryFilter.filter(f => f.value !== filter.value);
entonces desea seguir construyendo el nuevo objeto de estado y colocar esta matriz donde pertenece en el objeto de estado.
Creo que el objeto de estado que pegó en su pregunta no es correcto, por lo que no estoy tratando de adivinar la estructura correcta.