[英]React Native - How to parse json data and set it in a state object
我有两个文件(在同一目录中):
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.