React中的Axios PUT请求,Redux不工作

时间:2017-08-07 01:41:01

标签: javascript reactjs redux put axios

所以我想向服务器发出PUT请求,但它不想工作。我知道在发出PUT请求时,您需要资源的标识符(例如id)和要更新的有效负载。这就是我的问题。

在我的表格中,我有这些道具:

<div>
  <DoorSettingsForm
    onSubmit={this.submit.bind(this)}
    item={this.props.location.state.item}
    id={this.props.location.state.item._id}
  />
</div>

item - 所有输入字段,无线电按钮等。

id - 标识符

onSubmit - 处理所有新数据提交的函数,在这里:

submit(values, id) {
  this.props.updateSettings(values, id)
}

在我真正简单的行动中,我有这个:

export function updateSettings(id, item) {
  return dispatch => {
    console.log('ID: ', id)
    return axios
      .put(`${settings.hostname}/locks/${id}`, item)
      .then(res => console.log(res))
      .catch(err => console.log(err))
  }
}

我真的不明白的一件事是当我在第一行更改iditem的位置时,我的console.log的输出会发生变化。当id作为第一个参数时,我会在输入中输入所有内容(更改),并且当item作为第一个参数时,我会得到这个:

ID:  function (action) {
        if (action.payload) {
          if (!(0, _isPromise2.default)(action.payload) && !(0, _isPromise2.default)(action.payload.promise)) {
            return next(action);
          }

对我的问题的任何帮助都非常有用!谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

我忘了用我的id调用handleSubmit: form onSubmit={() => handleSubmit(id, item)}