2017-08-07 95 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)}