Получение данных из объекта с помощью FireBase

#reactjs #firebase #firebase-realtime-database #react-hooks

#reactjs #firebase #firebase-база данных в реальном времени #реагирующие хуки

Вопрос:

В настоящее время у меня есть объект из базы данных FireBase. Вот так: введите описание изображения здесь

Я хочу отобразить эти данные с помощью React, пока у меня есть:

 return (
   <React.Fragment>
      <StyledMain role="main">
        <Layout currentUser={currentUser}>
          <ListCards currentUser={currentUser} />
            {data.map((item, index) => (
              <Card id={Object.keys(item).toString()} key="c" type="chats">
                <CardContent scrollbar={false}>
                  <Grid columns={`${rem(300)} 1fr`} scrollbar={false}>
                    {Object.keys(item).map(function(key, index) {
                      <Text text={item[key]['type'].toString()} />;
                     })}
                  </Grid>
               </CardContent>
             </Card>
           ))}
        </Layout>
     </StyledMain>
   </React.Fragment>
);
  

Имеющий data содержащий объект firebase Widgets.
Моя цель — отобразить, Card где id находится erf4553o459g4 , и Text компонент будет отображать lists
Каков наилучший подход для достижения этой цели? Две map функции кажутся немного ненужными.

Функция для получения данных из FireBase:

 const getSingleRefFunction = (ref, callback) => {
  const dataArray = [];

  ref.once('value', snap => {
    dataArray.push(snap.val());
    callback(dataArray);
  });
};
  

Комментарии:

1. если у вас есть вложенные списки, которые вы хотите отобразить, вложенный map звучит как правильный путь. вы можете абстрагировать второй map внутри вложенного компонента, но, конечно, в любом случае он останется вложенным map циклом

2. Не могли бы вы, пожалуйста, показать пример результирующего data массива, который вы вызываете .map ?