javascript - 无法在 redux 操作中重命名响应

标签 javascript reactjs redux action

我想重命名 .then(... 中的响应因为它的调用与参数相同,但是得到

[1] ./src/actions/postsActions.js
[1]   Line 95:  'e' is not defined  no-undef

问题是它dispatches action显示消息,并且需要 addPost参数数据为showMessage参数,并且里面没有 message 属性..

示例:

export const addPost = data => dispatch => {
  dispatch({
    type: ADD_POST
  });
  fetch(API_URL + "/posts", {
    method: "POST",
    body: JSON.stringify(data),
    headers: {
      "Content-Type": "application/json",
      Authorization: JSON.parse(localStorage.getItem("token")),
      "Access-Control-Allow-Origin": "*"
    }
  })
    .then(res => res.json())
    .then(
      e =>
        dispatch({
          type: ADD_POST_SUCCESS,
          payload: e
        }),
      dispatch(showMessage(e)),
      setTimeout(() => {
        history.push("/");
        dispatch({ type: CLEAR_MESSAGE });
      }, 2000)
    )
    .catch(err =>
      dispatch({
        type: ADD_POST_FAILED,
        payload: err
      })
    );
};

最佳答案

相反,ecma6隐式return,添加一个 block 语句。

那里不需要return。用分号分隔语句。

then(e => {

      dispatch({type: ADD_POST_SUCCESS, payload: e});
      dispatch(showMessage(e));
      setTimeout(() => {
        history.push("/");
        dispatch({type: CLEAR_MESSAGE});
      }, 2000);

    });

关于javascript - 无法在 redux 操作中重命名响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094844/

相关文章:

javascript - ReactJS - 在箭头函数中设置状态

javascript - 当第一次在 useEffect 上获取数据时,为什么 React 的 useReducer 返回空状态?

reactjs - 何时使用 Redux?

angular - 发送 :false 时测试@Effect

angular - 有关如何制作影响 Angular 中所有组件的主题机制的指南?

Javascript按升序排列不起作用

javascript - 手机网站呈现: ERROR : -> No such file or directory

javascript - 失败的形式 propType : You provided a `value` prop to a form field without an `onChange` handler

javascript - ReactJS 是否重用导入的包?

javascript - 导出 React 组件最合乎逻辑的方法是什么?