карта массива реагирует на базу - PullRequest
0 голосов
/ 17 октября 2019

Я довольно новичок, чтобы реагировать, я использую реактив firebase redux, как я могу отобразить массив вопросов, которые возвращают объект, каков наилучший способ добиться этого? я хочу вернуть их как список:

import { compose, withHandlers,withProps } from 'recompose'
import { firebaseConnect } from 'react-redux-firebase'
import { Alerts,spinnerWhileLoading } from '@components'
import { connect } from 'react-redux'




export default compose(
  firebaseConnect([
    { type: 'once', path: '/questions' }
  ]),


  withHandlers({
    logout: ({ firebase }) => () =>
      firebase.logout().catch(err => Alerts.danger(err.message))
  }),

  connect((state, props) => ({
    questions: state.firebase.data.questions, 

// questions return Object {
  "-LrP3EkfZ8fCgkNycJ2-": Object {
    "question": "De déféré déféré",
    "user": "9jNkvzr0chgPi0SC6rXMlVWdOF12",
  },
  "-LrP4P3fQDK6DnS1hxDt": Object {
    "question": "De déféré déféré",
    "user": "9jNkvzr0chgPi0SC6rXMlVWdOF12",
  },
  "-LrPNX18hQLL-OjHWC3R": Object {
    "question": "Dddededed",
    "user": "9jNkvzr0chgPi0SC6rXMlVWdOF12",
  },
}
      })),
  spinnerWhileLoading(['questions'])


)

в мой index.js как:

let Questions = ({ navigation: { navigate }, logout,questions}) => (
  <View style={{flex: 1}}>
{console.log(questions)}
//question array
<li question ="" />
<li question ="" />
//question array
</View>
export default enhancer(Questions)

1 Ответ

0 голосов
/ 18 октября 2019

если я понимаю, вы должны:

  1. Сохраните каждый из ваших вопросов в коллекции, названных как вопросы. Каждое включение - это документ.
  2. По вопросам выборки вы должны возвращать массив объектов с каждыми данными и идентификатором, например:
query.onSnapshot(querySnapshot => {
  let arrayToReturn = [];
  querySnapshot.forEach(doc => {
    const objectData = {
      id: doc.id,
      ...doc.data()
    };
  arrayToReturn.push(objectData);
  });
return arrayToReturn;

You will have array like this:
[
  {
    "id": "-LrP3EkfZ8fCgkNycJ2-"
    "question": "De déféré déféré",
    "user": "9jNkvzr0chgPi0SC6rXMlVWdOF12"
  },
  ...
]
Массив карты и возврат <li /> для каждого вопроса.

Дайте мне знать, если это поможет вам :)

...