繁体   English   中英

React Native - 如何解析json数据并将其设置在状态对象中

[英]React Native - How to parse json data and set it in a state object

我有两个文件(在同一目录中):

  • Detail.json
  • Base.js

Detail.json如下:

[
  {
    "id": 1,
    "name": "A",
  },
  {
    "id": 2,
    "name": "B",
  },
  {
    "id": 3,
    "name": "C",
  }
];

Base.js如下:

class Base extends Component {

state = { myDetail: [] }; 

//TODO 1: fetch JSON data from Detail.json and set it to myDetail object

//TODO 2: parse this data from myDetail to display as a single unit (eg: name)

}

我做了:

import data from './Detail.json'

console.log(data)给了我完整的json对象。 但当我这样做时:

this.setState({myDetail: data}); 

然后是console.log(myDetail); 它在控制台中显示空对象。

有人可以告诉我如何执行上述两项任务。 谢谢。

正如Yozi在评论部分中所说, setState是一个异步函数,你必须等待它的诺言才能得到解决。

this.setState({foo: 'bar'}).then(() => {
  console.log(this.state.foo)
});

这只是因为在setState方法更新状态对象之前调用了最后一个代码console.log 但是setState采用第二个参数,即在状态更新后调用的回调。

this.setState({
     myDetails: data
}, () => {
     console.log(this.state.myDetails);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM