首页 > 解决方案 > 如何从 React 中的对象中获取数据

问题描述

我有一个使用 React 和 Firebase 构建的应用程序,我刚刚制作了一个搜索组件。

因此,我将从数据库中获取帖子并将所有帖子放入存储为状态的数组中。然后,我将该状态与搜索组件(来自 Semantic UI React)一起使用。它可以工作,它搜索数组并根据“createdBy”字段返回结果,但是当我尝试仅从中获取字段时,它不再显示任何内容。

我怎样才能只显示“消息”和“创建者”字段?或者如果数据库在firebase中,搜索组件是否有更好的流程?

状态

正如你所看到的,我在状态中有结果,我可以使用 JSON stringify 显示这些结果,但是当我尝试使用“results.message”时,它不起作用。

请问我能得到一些帮助吗?谢谢

标签: reactjsfirebasesearchfirebase-realtime-database

解决方案


由于 results 是一个数组,您需要对其执行 .map 或 .forEach 以访问每个对象及其键和值

  results.map( result => {
       console.log(result.message);
       console.log(result.uid);
       console.log(result.createdBy);
  }

或使用 .forEach

  results.forEach( result => {
       console.log(result.message);
       console.log(result.uid);
       console.log(result.createdBy);
  }

如果您只想访问数组中的第一个对象,那么

  console.log(results[0].message);
  console.log(results[0].uid);
  console.log(results[0].createdBy);

推荐阅读