我无法运行此React操作的return语句

时间:2019-02-08 18:53:09

标签: javascript reactjs asynchronous redux

以下代码是应该分派给reducer的React操作。我似乎无法使return语句运行。我可以将其击中调试器以消除数据变量声明,仅此而已。如果我尝试在调试器中运行其余代码,则会收到参考错误“返回不是函数”。我不知道我在这里想念的是什么。任何帮助将不胜感激。预先感谢。

const baseUrl = 'http://localhost:3001'
export const signUp = (user) => {
let data = {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ user })
}

   return dispatch => {
  fetch(`${ baseUrl }/signup`, data)
    .then(response => response.json())
    .then(user => {
      sessionStorage.setItem('user', user)

      dispatch({
        type: 'SET_USER',
        payload: user.current
      })


    })
    .catch(err => err)
}

}

1 个答案:

答案 0 :(得分:0)

好吧,如果您使用的是redux-thunk,则会丢失函数中的参数,并且目前只有user。试试这个:

export const signUp = (dispatch, getState, user) => { ...your code }