繁体   English   中英

用 react-redux 发货

[英]Dispatching with react-redux

I'm trying to call a function from React JSX button and I have a problem with that because when in react-redux actions in the defined function I don't put dispatch function, works as it supposed to.

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");
  }
};

在此按钮中,我使用一个参数调用 function。

<button onClick={() => like_function(post.id)}>Like</button>

这是 redux 动作。 这是问题所在。 当调度被删除 function 工作,但甚至没有调用调度,它甚至不会在异步请求之前将数据记录到控制台

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,
    });
  }
};

这是我的 redux 减速机

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

对不起我的英语,希望你能理解我,提前谢谢

您没有发送操作。

import { useDispatch } from 'react-redux'

const dispatch = useDispatch()

dispatch(like_post(post_id, user_id))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM