Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用react redux进行调度_Javascript_Reactjs_Redux_Async Await_Dispatch - Fatal编程技术网

Javascript 使用react redux进行调度

Javascript 使用react redux进行调度,javascript,reactjs,redux,async-await,dispatch,Javascript,Reactjs,Redux,Async Await,Dispatch,我试图从React JSX按钮调用一个函数,但我遇到了一个问题,因为在定义的函数中使用React redux操作时,我没有放入dispatch函数,而是按照它应该的方式工作 const like_function = (id) => { let post_id = id; if (isAuthenticated) { console.log(post_id, user_id); like_post(post_id, user_id); } else {

我试图从React JSX按钮调用一个函数,但我遇到了一个问题,因为在定义的函数中使用React redux操作时,我没有放入dispatch函数,而是按照它应该的方式工作

const like_function = (id) => {
      let post_id = id;

  if (isAuthenticated) {
    console.log(post_id, user_id);
    like_post(post_id, user_id);
  } else {
    <Redirect to="/login" />;
    console.log("Redirect to login");
  }
};
这是我的redux还原器

case POST_LIKE_LOADING:
  return {
    ...state,
    isLoading: true,
  };
case POST_LIKED:
  return {
    ...state,
    isLoading: true,
    message: "OK"
  };

对不起,我的英语不好,希望你能听懂我的意思,提前谢谢你,你没有发出这个动作

从'react redux'导入{useDispatch}
const dispatch=usedpatch()
调度(如邮政(邮政id、用户id))

您没有分派操作

从'react redux'导入{useDispatch}
const dispatch=usedpatch()
调度(如邮政(邮政id、用户id))
export const like_post = (post_id, user_id) => async (dispatch) => {
  const data = { post_id: post_id, user_id: user_id };
  console.log(data);
  dispatch({
    type: POST_LIKE_LOADING,
  });

  try {
    const res = await axios.put(`http://localhost:8000/api/like_list/`, data);
    //console.log(res.data);
    dispatch({
      type: POST_LIKED,
      payload: res.data,
    });
  } catch (err) {
    console.log(err);
    dispatch({
      type: POST_LIKEING_FAIL,
    });
  }
};
case POST_LIKE_LOADING:
  return {
    ...state,
    isLoading: true,
  };
case POST_LIKED:
  return {
    ...state,
    isLoading: true,
    message: "OK"
  };