Как нормализовать и смоделировать состояние в NGXS для вложенных массивов? - PullRequest
0 голосов
/ 11 ноября 2019

Я просто ударился о стену, пытаясь обновить состояние глубоко вложенного массива, и после его исследования мне нужно нормализовать свое состояние.

Структура данных, с которой я работаю, выглядит следующим образом:

   sportTypes: SportType[
  sportTypeObj{
     leagues: League[
        leagueObj{
              teams: Team[
                 teamObj{} <== this array needs updating
                ]
           }
      ]
   }
]

, поэтому в основном объект SportType имеет свойство массива типа League [], а каждый объект лиги имеет свойство массива типа Teams []. Мне нужно обновить массив команд в конкретной лиге. Я не слишком уверен, как структурировать мои SportTypeStateModel, чтобы отразить эту структуру данных.

Это то, что у меня было раньше:

`export interface SportTypeStateModel {
  sports: SportType[];
  loading: boolean;
  error?: any | null;
}`

Но вот с этим нет простого способаобновления массива команд.

1 Ответ

0 голосов
/ 11 ноября 2019

Альтернативой может быть наличие 3 (или 4) хранилищ сущностей. Но это не так просто, как ожидалось.

  • SportTypeStateModel: внутри {sportTypeIds: string []}

  • SportType: с внутренним {leagueIds: string []}

  • League: с внутренним {team: Team []}

...