как сделать диспетчеризацию и функционировать по клику - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу отправить данные в редуктор, а также выполнить функцию, которая должна получать данные, которые я отправляю в редуктор, и отправлять на сервер здесь. Я не хочу отправлять в редуктор

                   <Fab aria-label="delete"
                      value={vacation.id}
                      key={vacation.id}
                  >>>onClick={() => dispatch({ type: 'DELETE', payload: vacation.id })}>

                      <DeleteIcon />
                    </Fab>

Мой редуктор:

const initialState = {
    Vacations: [],
};

export function Vacations(state = initialState, action) {
    // console.log('Vacations-action', action.payload);
    switch (action.type) {
        case 'FETCH_VACATIONS':
            return {
                ...state,
                Vacations: action.payload
            };
        case 'DELETE':
            return {
                deleteCard: action.payload            }
        default:
            return state;
    }
}

И моя функция

  const DeleteCard = (e) => {
    e.preventDefault();
    dispatch({ type: 'DELETE', payload: deleteCard })
    alert(deleteCard)
    const confirm = window.confirm(`You are sure you want to delete vacation number ?${deleteCard}`);
    if (confirm == true) {
      axios.delete(`http://localhost:4000/users/admin/delete/${deleteCard}`)
    } else {
      alert("You pressed Cancel!")
    }
  };

UseSelector Я хочу получить

  //dispatch redux
  const dispatch = useDispatch();
  const {
    role = 2,
    username,
 >>>>>deleteCard,
  } = useSelector(state => ({
    ...state.combineReducers,
    ...state.userReducer,
    ...state.vacationsReducer
  }));

В основном то, что я ищу, это делать2 вещи в onClick, и функция будет в основном действием tunk

...