如何在React

时间:2018-10-13 20:12:52

标签: reactjs firebase search firebase-realtime-database

我有一个使用React和Firebase构建的应用程序,而我只是做了一个搜索组件。

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

如何仅显示“ message”和“ createdBy”字段?如果数据库位于Firebase中,还是有一个更好的搜索组件流程?

state

如您所见,我将结果保存在状态中,并且可以使用JSON字符串化显示这些结果,但是例如当我尝试使用'results.message'时,该方法将不起作用。

请给我一些帮助吗? 谢谢

1 个答案:

答案 0 :(得分:1)

由于结果是一个数组,因此您需要对其执行.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);