1

更新 2:

另一个更新 - 我正在解决这个问题。来自 redux-form 的值被发送到动作,但甚至缩小到这个:

export function signinUser(values) {
  console.log('function about to run, email: ' values.get('email'));
}

我什至没有看到控制台日志条目。但是,只有一个简单的控制台日志的相同功能可以工作:

export function signinUser() { console.log('函数即将运行'); }


更新:

工作代码和非工作代码之间的唯一区别是redux-formimmutablejs。我尝试将这些反向移植到工作应用程序,现在行为是相同的。

我正在提交我的表单并将 redux-form 发送values到我正在使用的函数values.get('email')并将values.get('password')值传递给 axios。

handleFormSubmit(values) {
  console.log('sending to action...', values);
  this.props.signinUser(values);
}

我有一个登录表单,onSubmit我正在将值传递给一个调度动作的函数。

该代码在我分叉的回购中有效,但我正在将其转移到我自己的应用程序中。我遇到的问题是该函数似乎没有触发,我正在努力找出在哪里添加console.log语句。

唯一console.log触发的是第 2 行。

export function signinUser(values) {
  console.log('function will run');
  return function(dispatch) {
    axios.post(TOKEN_URL, {
      email: "a@a.com",
      password: "a",
      method: 'post',
      credentials: 'include',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
      },
   })
   .then(response => {
     console.log('response: ', response.data.content.token );
     // If request is good...
     // - Update state to indicate user is authenticated
     dispatch({ type: AUTH_USER });

     // decode token for info on the user
     var decoded_token_data = jwt_decode(response.data.content.token);

     // - Save the JWT token
     localStorage.setItem('token', response.data.content.token);
     console.log(localStorage.getItem('token'));
     // - redirect to the appropriate route
     browserHistory.push(ROOT_URL);

   })
   .catch(() => {
     // If request is bad...
     // - Show an error to the user
     dispatch(authError('Bad Login Info'));
   });
  }
}
4

0 回答 0