Архитектурное сохранение в React с Redux и Persistors - PullRequest
1 голос
/ 01 июля 2019

Я замечаю, что некоторые вещи не спасаются из-за того, что я спасаю их до того, как произойдет регидратация.

var engagement = store.getState().analytics.engagement;
store.dispatch(engagementSave(engagement + 1));

...
<PersistGate loading={<Loading />} persistor={persistor}>
...

, по-видимому, регидратируется после рендеринга пользовательского интерфейса - так что мне делать большую часть инициализации при запуске на фиктивной странице компонента / входа в систему?

Как обновления магазина обычно выполняются в React при инициализации?

Могу ли я просто выполнить их внутри персистора?

1 Ответ

0 голосов
/ 01 июля 2019

Существует, по-видимому, обратный вызов, который срабатывает после повторной гидратации персистора, вы можете использовать его для немедленной инициализации вашего магазина.

  let persistor = persistStore(store, {}, () => {
    console.log("state is persisted");
    const state = store.getState()
    console.log(state);
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...