2017-08-07 91 views
0

所以我想做一个PUT请求到服务器,但它不想工作。我知道在做PUT请求时,你需要一个资源标识符(例如id)和有效负载进行更新。所以这是我的问题。Axios PUT请求的反应,Redux不工作

在我的表单中我有这些道具:

<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); 
      } 

与我的问题任何帮助真的appriciated !谢谢阅读。

回答

0

我忘了打电话把提交我的ID: form onSubmit={() => handleSubmit(id, item)}