如何在React Native中将Json响应对象分配给状态对象

时间:2018-07-13 10:42:27

标签: json object react-native fetch-api

获取响应包含(Json)许多键和相应的值,我想将Json对象分配给状态对象,我们如何实现?

我尝试关注但没有成功

....
      .then(responseobj => {
        this.setState({
          state_object:responseobj,
        })

2 个答案:

答案 0 :(得分:1)

If you are using fetch library to make API calls. 

.then((responseobj) => responseobj.json())
.then((jsonResponse) => {
   this.setState({
     state_object:jsonResponse,
   }) 
})

答案 1 :(得分:0)

首先,为什么它不起作用?有错吗 无论如何,我总是创建一个新变量,并将获取的responsejson放入其中。 试试这个:

.then(responseobj => {
    let responseToHandle = responseobj;
    this.setState({
      state_object: responseToHandle,
    })

另一种解决方案可能是在fetch函数中您无法访问该对象,我总是在类的顶部创建一个名为self的变量。然后在构造器组件方法中,将其分配给self,然后所有需要此操作的操作都可以由self对象访问。

示例:

import React from ........
//more of your imports......

var self;
export default class YourClassOrComponent extends Component{

  ......

 constructor(){
   super();
   self = this;
   ......
 }

// using setState inside a function with self -->
....
.then(responseobj => {
let responseToHandle = responseobj;
self.setState({ // <----- Note that I use here self instead of this
  state_object:responseobj,
})
.....

这就是我所能告诉你的一切,祝你好运!