Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在react中使用axios加载响应数据?_Reactjs_Axios - Fatal编程技术网

Reactjs 如何在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

如何在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, 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初始化为空数组