Reactjs 如何在react中使用axios加载响应数据?
如何在react中使用axios加载响应数据 我的组件安装:Reactjs 如何在react中使用axios加载响应数据?,reactjs,axios,Reactjs,Axios,如何在react中使用axios加载响应数据 我的组件安装: var params = new URLSearchParams(); params.append('id', this.state.ids); axios.post('http://127.0.0.1:8000/items/select/', params) .then(function(response, data){ x => { let push = response.data.map((idb
var params = new URLSearchParams();
params.append('id', this.state.ids);
axios.post('http://127.0.0.1:8000/items/select/', params)
.then(function(response, data){
x => {
let push = response.data.map((idb, index)=>{
return(
<SingleProduct takeid={idb} />
)
})
this.setState({dataSelection: push});
}
})
var params=新的URLSearchParams();
params.append('id',this.state.id);
轴心柱http://127.0.0.1:8000/items/select/,参数)
.然后(功能(响应、数据){
x=>{
让push=response.data.map((idb,索引)=>{
返回(
)
})
this.setState({dataSelection:push});
}
})
我想创建map response.data您需要注意的几件事 首先:
绑定
axios回调方法,使其内部的此
引用React组件上下文
第二步:将响应保存为状态,而不是组件映射
Third:映射渲染中的状态
state = {
dataSelection: []
}
componentDidMount() {
var params = new URLSearchParams();
params.append('id', this.state.ids);
axios.post('http://127.0.0.1:8000/items/select/', params)
.then((response, data) => {
this.setState({dataSelection: response.data});
}
})
}
render () {
return (
<div>
{this.state.dataSelection.map((idb, index)=>{
return(
<SingleProduct takeid={idb} />
)
})
}
</div>
)
}
状态={
选举:[]
}
componentDidMount(){
var params=新的URLSearchParams();
params.append('id',this.state.id);
轴心柱http://127.0.0.1:8000/items/select/,参数)
.然后((响应、数据)=>{
this.setState({dataSelection:response.data});
}
})
}
渲染(){
返回(
{this.state.dataSelection.map((idb,index)=>{
返回(
)
})
}
)
}
很抱歉出现错误:它应该是this.state.dataSelection.map
而不是this.state.dataSelection.data.map
是否已将state dataSelection初始化为空数组