【发布时间】:2025-12-29 01:30:11
【问题描述】:
我想向我的服务器发出 PUT 请求,但为了做到这一点,我需要一个我需要更新的特定对象的标识符。这就是我的问题,我不知道如何获取组件 ID,因此我可以满足我的 PUT 请求。这是目前的代码:
import axios from 'axios'
import settings from '../../../../settings'
axios.defaults.baseURL = settings.hostname
export const updateSettings = function(id, item) {
return dispatch => {
axios
.put(`${settings.hostname}/locks/${id}`, item)
.then(res => res.data)
.catch(err => console.log(err))
}
}
当 console.log item 我可以看到我在输入字段中输入的所有 新 内容(我想要更改的内容),但我也得到了这个:
有时404。所以我的问题是如何获取 id 以便我可以提出这个 put 请求。谢谢。
这是我打电话给updateSettings的地方:
import React, { Component } from 'react'
import { updateSettings } from './redux/actions/updateSettingsAction'
import DoorSettingsForm from './components/doorsSettingsForm'
import { connect } from 'react-redux'
class DoorSettingsContainer extends Component {
submit(values) {
this.props.updateSettings(values)
}
render() {
return (
<div>
<DoorSettingsForm
onSubmit={this.submit.bind(this)}
item={this.props.location.state.item}
/>
</div>
)
}
}
function mapStateToProps(state) {
return { data: state.data }
}
export default connect(mapStateToProps, { updateSettings })(
DoorSettingsContainer
)
【问题讨论】:
-
你怎么称呼
updateSettings?看起来您正在传递一个对象,而不仅仅是一个原语。 -
我已经添加了一些代码。
-
值对象是什么样的?
标签: javascript reactjs redux put axios