Redux / React нормализованное состояние с нумерацией страниц + большие данные - PullRequest
0 голосов
/ 29 июня 2019

У меня есть несколько вопросов по поводу правильного структурирования хранилища Redux с реляционными данными и потенциально большими наборами данных.

В Redux я прочитал, что состояние должно быть нормализовано следующим образом:

{
  posts : {
    byId : {
      "post1" : {
        id : "post1",
        author : "user1",
        body : "......",
        comments : ["comment1", "comment2"]
      }
    },
       ...
  },
  comments : {
    byId : {
      "comment1" : {
        id : "comment1",
        author : "user2",
        comment : ".....",
        },
        ...
     }
  },
  ...
}

Структурирование состояния, такого как база данных, имеет смысл, поскольку оно позволяет представлять данные только один раз в состоянии и впоследствии получать их только по идентификатору.

Однако у меня есть некоторые вопросительные знаки, в которых я до сих пор не уверен, иЯ не смог найти эти ответы онлайн.

1.Сколько данных вы должны хранить в штате?

Я полагаю, вы не все храните.Даже если это тысячи записей, нет?

Сколько это слишком много, и когда вам нужно беспокоиться о том, чтобы иметь слишком много данных?

2.Как следует структурировать состояние Redux с точки зрения ограничения данных, загружаемых на клиенте?

Например, что если вы загрузите только первые 100 комментариев и сообщений и сохраните их в состоянии, но post23имеет comment221, которого в данный момент нет.

Как вы справляетесь с этим, когда компоненту post необходимо отобразить список комментариев, чтобы отобразить их пользователю из состояния?

3.Как вы структурируете данные и управляете кэшированием / обновлением с использованием компонентов React?

Компоненты React должны загружать, обновлять и кэшировать данные из состояния Redux.Это означает, что эти компоненты должны знать части состояния Redux.

Когда вы загружаете данные?Как вы должны справиться с этим, когда он кэшируется?И как вы обновляете части состояния таким образом, чтобы эти изменения отражались в других частях приложения, где данные, возможно, уже были загружены и кэшированы?

Заключение

Я спрашиваю об этом, потому что мне нужно создать приложение, которое будет масштабироваться, а моя текущая структура вообще неэффективна.

Я действительно хочу понять, как лучше всего использовать Redux для каких целей.для чего он был создан, и как объединить его с React так, чтобы он был эффективным и масштабируемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...