javascript - 如何访问 'key' 对象 reactJS 的对象属性

标签 javascript reactjs firebase firebase-realtime-database axios

想输出这个JSON数据

我正在努力寻找一种方法来输出我从 Firebase 中提取的数据,主要是因为我不知道如何选择“日期”对象中的对象。 Firebase 自动生成这些 key :-LMgzJGM78f0BHbPf8cc

我无法输出如上命名的对象的属性^我尝试使用嵌套的for(in) 循环。

这是我目前使用的代码:

从数据库中提取数据

 componentDidMount() {
    axios.get('./tasks.json')
      .then(response => {
        const fetchedTasks = [];
        for (let date in response.data) {
          fetchedTasks.push({
            ...response.data[date],
            date: date,
          });
          for (let item in response.data[date]) {
            fetchedTasks.push({
              ...response.data[date[item]],
              id: item
            })
          }
        }
        this.setState((prevState, props) => {
          return {
            taskList: fetchedTasks,
            loading: false
          }
        })
      })
      .catch(error => console.log(error));
  }

将状态映射到 JSX 元素,只输出类似 props.name 的内容:

  {this.state.taskList.map((array, index) => (
            <CompleteTask
              key={array.date}
              taskName={array.date}
            />
          ) )
        }

这是一个数据作为 JSON 文件的示例,它被设置为我的应用程序中的状态:

{
  "tasks" : {
    "09182018" : {
      "-LMgzJGM78f0BHbPf8cc" : {
        "hours" : 0,
        "end" : "2018-09-18T14:02:25.022Z",
        "minutes" : 0,
        "name" : "sadflkjdsalkf",
        "seconds" : 2,
        "start" : "2018-09-18T14:02:22.508Z"
      },
      "-LMgzaEYe0tcCjpxOuPU" : {
        "hours" : 0,
        "end" : "2018-09-18T14:03:38.635Z",
        "minutes" : 0,
        "name" : "safd",
        "seconds" : 2,
        "start" : "2018-09-18T14:03:36.353Z"
      }
    },
  }
}

关键元素的属性 -LMgzaEYe0tcCjp​​xOuPU 我不确定如何访问,这些数据是由我应用程序中的另一部分创建的,我是否应该移动到更浅的状态以输出的属性“小时”、“姓名”、分钟等,或者有没有办法像现在一样访问它?

非常感谢。

最佳答案

您是在问如何访问名称有问题的属性,例如 -LMgzJGM78f0BHbPf8cc

如果是这样,您可以使用方括号语法通过属性名称访问对象属性,而不是 object.property 表示法:

let obj = { color: 'blue' }

let prop = 'color'

console.log(obj.color);
console.log(obj['color']);
console.log(obj[prop]);

如果不是,请尝试更清楚地说明您当前的问题是什么。

关于javascript - 如何访问 'key' 对象 reactJS 的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498602/

相关文章:

javascript - 阻止具有点击事件的项目中的 <a> 链接上的 javascript

javascript - react 热加载程序 3

javascript - 从 React 状态的对象获取数值

javascript - Vue.js - 检测嵌套属性值的变化

javascript - 更改状态时如何保留兄弟用户界面 View ?

ios - 当我使用 rootViewController 时,选项卡栏不出现

firebase - Algolia Search Firebase Extension 安装后不跟踪 firestore 数据库集合

android - ionic4 Android 无法添加任务 ':app:processDebugGoogleServices',因为该名称的任务已存在

javascript - ng-repeat 过滤器从对象中否定字符串 - angularjs

javascript - 如何使用 Reactjs 在 Firebase 上修补和删除?