javascript - 从 JSON.file 获取嵌套数据时出现问题

标签 javascript json reactjs

我有这个 db.json 文件,我只想在屏幕上渲染年份。例如:1999 年、2000 年、2001 年等。

JSON 文件:

  {
   "cronology":
      [   
           {
             "year": "1999",
             "description": "This is a description text"  
           },
           {
            "year": "2000",
            "description": "This is a description text"
           },
           {
            "year": "2001",
            "This is a description text"
           },
           {
            "year": "2002",
            "This is a description text"
        }
      ]
    }

我已经尝试过这种方式,你可以在下面的 react 组件中看到它,但它对我不起作用。

React 组件文件:

import React, { Component } from 'react'
import { Scrollbars } from 'react-custom-scrollbars'

var data = require('./db.json');

class Cronology extends Component {
  constructor(props) {
    super(props)
    this.state = {
      cronology: [],
      year: "",
      description: ""
    }
  }

  componentDidMount() {
    this.setState({
      cronology: data.cronology

    })
  }

  render() {
    return (
      <ul>
        {
          Objct.keys(this.state.cronology).map(
            (i) => {
              return <li>i.year</li>
          })                  
        }
      </ul>            
   }
}

export default Cronology;

屏幕没有显示任何渲染数据,也没有任何错误消息。怎么解决呢?

最佳答案

仅使用 map

render() {

  const cronology = this.state.cronology || []; // validate cronology

  return (
    <ul>
      {
        cronology.map(
        (i) => {
          return <li>i.year</li>
      })                  
    }
  </ul>            
}

关于javascript - 从 JSON.file 获取嵌套数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437946/

相关文章:

python - 如何使用带有嵌套列表和字典的 Python 遍历 JSON 文件

javascript - 在对象内循环 json 对象

javascript - Ramda,从数组中提取一个 json 索引

javascript - javascript es6 中的静态方法发生了什么?

javascript - Recactjs 自动完成组件给出错误

javascript - 质量学中的图像随机化

javascript - Fusioncharts 使用 vue 和 laravel 显示来自 Controller 的数据,其中条件是 count 和 group

javascript - 无法在提示框中写入数字

javascript - 如何对对象数组中的特定选项求和?

reactjs - 更干净的 React 上下文