Запрос к объекту json firebase или к избыточному состоянию - PullRequest
0 голосов
/ 23 сентября 2019

Я создаю свое первое веб-приложение с React, Redux и Firebase, оно касается регистрации помощи студентов (выпускников) в уроках (предложениях).У меня следующая структура базы данных (такая же в состоянии Redux, this.props).

  "clases" : {
    "-LpQkLyGXEd-Up8hExTx" : {
      "alumnos" : [ "-LpKkSh0E5jiuM0JCCpS", "-LpQi33M-0OSS4Jvup8k" ],
      "fechaClase" : "20-09-2019",
      "profesor" : "Nacho",
      "tema" : "Misión"
    },
    "-LpQmExVsWtW1uPHLK52" : {
      "alumnos" : [ "-LpJvbXb2FjgZvvBv3ei", "-LpKkSh0E5jiuM0JCCpS", "-LpQi33M-0OSS4Jvup8k", "-LpQiDGlRWITax2t6U2A" ],
      "fechaClase" : "22-09-2019",
      "profesor" : "Nacho",
      "tema" : "Bautismo"
    },
    "-LpQqZ_uWu8HxROagVjN" : {
      "alumnos" : [ "-LpKkSh0E5jiuM0JCCpS", "-LpQi33M-0OSS4Jvup8k", "-LpQiPCS2cIK7opMNqyH" ],
      "fechaClase" : "21-09-2019",
      "profesor" : "Manzo, Ignacio",
      "tema" : "Bautismo"
    }

Я хочу выбрать ученика (выпускника) и узнать, какие уроки были сделаны.Должен ли я сделать двойную карту объекта?Можете ли вы помочь?

Это развернутое приложение https://metanoia -ic.herokuapp.com / Это мой репозиторий github: https://github.com/tonicanada/metanoia

Спасибо!

1 Ответ

0 голосов
/ 23 сентября 2019

Я бы использовал Object.keys, чтобы можно было использовать filter и include Array.prototype методы.Предполагая, что clases является объектом, содержащим все состояния, я бы сделал что-то вроде этого:

const studentId = this.props.studentId; // or any other value

const clasesPerStudent = Object.keys(clases).filter(clase =>
  clases[clase].alumnos.includes(studentId)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...