Запрос PUT не обновляет данные | Реакт, Редукс
В моей базе данных у меня есть объект с именем lock
, В настоящее время вы можете (почти как-то сломал) обновить настройки блокировок с помощью моего запроса axios put. Но в lock
объект есть ключ под названием controller
который имеет objectId. У меня также есть еще один объект под названием controller
который содержит материал, который мне нужно иметь возможность обновлять (из того же запроса).
Я убедился, что я правильно lock
с правильным controller
, но я не могу получить мою просьбу о сдаче на работу.
В моем приложении React у меня есть это (item = lock | I need to rename it
):
<DoorSettingsForm
onSubmit={updateSettings}
item={location.state.door}
id={location.state.door._id}
controller={location.state.controller}
/>
DoorSettingsForm
Компонент принимает три реквизита, один из которых является функцией, updateSettings
, В той же папке у меня есть это:
const mapDispatchToProps = dispatch => {
return {
updateSettings: (id, item, controller) =>
dispatch(updateSettings(id, item, controller))
}
}
И мои действия:
export function updateSettings(id, updatedValues) {
return (dispatch, getState) => {
const state = getState()
let item
state.fetchDoors.doors.forEach(val => {
if (val._id === id) item = val
})
const payload = { item: merge({}, item, updatedValues) }
axios
.put(`${settings.hostname}/locks/${id}`, payload.item)
.then(res => {
console.log('updatedValues', updatedValues)
dispatch({
type: 'SETTINGS_UPDATED',
payload
})
})
.catch(err => console.log(err))
}
}
Сейчас, когда я пытаюсь отправить этот запрос, я получаю только id
блокировки, но не другие значения, которые я хочу. Когда я console.log('updatedValues', updatedValues)
Я вижу все значения, которые я изменил. Так что мне интересно, что не так с моими действиями?
Спасибо за прочтение!