Магазины React Flux и жесткое обновление

Ладно, давайте посмотрим. У меня есть компонент списка, который содержит несколько элементов:

<List />
  <Item selected={true} />
  <Item selected={false} />
  <Item selected={true} />
...

Этот компонент списка содержит и состояние (отмеченные элементы), которое сохраняется в хранилище Flux и передает его элементам в качестве реквизита. Если я нахожусь в списке и обновляю браузер, данные хранилища (так выбранное состояние) исчезают (это нормально).

Если я нажму на элемент, а затем вернусь, состояние списка (которое поступает из магазина) сохраняется (хорошо).

Проблема в том, что если я щелкну элемент, обновлю браузер и вернусь к списку, хранилище списков и состояние исчезнут (не то поведение, которое я хочу).

Есть ли что-то, что я делаю неправильно? Простое решение для этого, которого я не вижу? Я хотел использовать SessionStorage, но тогда состояние сохраняется, даже если вы обновляете список.


person Ferran Negre    schedule 01.12.2014    source источник
comment
Где вы храните вещи, когда храните их в ListStore? Это хранилище в памяти? Если это так, то обновление браузера приведет к обновлению магазина до исходного состояния.   -  person thataustin    schedule 01.12.2014
comment
Да, это правда. На самом деле, GMail имеет такое же поведение, поэтому я предполагаю, что это следует считать нормальным.   -  person Ferran Negre    schedule 02.12.2014
comment
Вы можете использовать sessionStorage и просто удалять из него вещи, когда приложение загружается. Это позволит вам выбирать, когда что-то сохраняется, а когда нет, просто добавляя или удаляя из sessionStorage, когда вы хотите, чтобы данные обрабатывались.   -  person thataustin    schedule 02.12.2014


Ответы (1)


Старый вопрос, но я подумал, что упомяну следующее (для людей, которые используют редукцию)

https://www.npmjs.com/package/redux-localstorage

Неутвержденный усилитель хранилища, сохраняющий изменения состояния (локально).

person ptim    schedule 21.10.2015