Quiero eliminar un usuario con la ayuda de la biblioteca redux. Para hacer esto, primero especifiqué el tipo y luego escribí la acción relacionada con esta operación y envié la salida de la operación en acton al reductor. En el reductor, los valores no están en su lugar. Se enviarán a la tienda y de la tienda al componente principal y luego al componente secundario y se realizarán los cambios necesarios.
tipo.js
const DELETED_USER = "DELETED_USER";acción.js
const deleted_User = ( userId,employees ) => { return{ type : DELETED_USER , payload : { employees : employees ? employees.filter( (employee) => { return( employee.id !== userId ) }) : [] } } }Reductor.js
const finalState = { finalUser : [] } const reducer = ( state = finalState , action ) => { switch(action.type){ case DELETED_USER : return{...state , finalUser : [ ...state.finalUser,{employees :action.payload.content} ] } break; default : return state } }tienda.js
import { createStore } from "redux"; import reducer from './todo/reducer'; export default createStore(reducer)No estoy muy seguro, pero la acción en reducer debería ser action.payload.employees porque en la función delete_User lo envía como un objeto con matrices dentro con el nombre "empleados" y no "contenido".
const reducer = ( state = finalState , action ) => { switch(action.type){ case DELETED_USER : return{...state , finalUser : [ ...state.finalUser, action.payload.employees ] } break; default : return state } }o tal vez así:
const deleted_User = ( userId ) => { return{ type : DELETED_USER , payload: userId } } const reducer = ( state = finalState , action ) => { switch(action.type){ case DELETED_USER : return{...state , finalUser : state.finalUser.filter((employee) => employee.id !== action.payload ) } break; default : return state } }¡Espero que funcione!