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

标签 javascript json reactjs react-native

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

  • Detail.json
  • 基础.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是一个异步函数,你必须等待它的promise被解析。

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

关于javascript - React Native - 如何解析 json 数据并将其设置在状态对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004782/

相关文章:

javascript - Yii2 在whenClient 中将变量连接到字符串

java - 我怎么能忽略 json 响应中的字段?

javascript - 使用 window.scrollY 获取元素 ID 的滚动位置

javascript正则表达式匹配

javascript - 如何在javascript中创建标签?

javascript - 使用javascript解析html字符串

java - 用 Jackson 解析 : throwing exception when format is unexpected

c# - 在 Monotouch 中将 IEnumerable<T> 简单转换为 JSON

android - 尝试访问应用程序中的文件时出错

reactjs - 找不到模块 : Error: Cannot resolve module 'fs'