Javascript 使用react redux进行调度
我试图从React JSX按钮调用一个函数,但我遇到了一个问题,因为在定义的函数中使用React redux操作时,我没有放入dispatch函数,而是按照它应该的方式工作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 {
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"
};