React + Flux: получение начального состояния в магазине
Недавно мы перешли на React + Flux от Angular, чтобы создать довольно сложное бизнес-приложение.
Использование подхода с одним контейнерным компонентом, который передает все состояния в виде свойств по дереву компонентов, не является практическим способом разработки приложения для нас, так как приложение использует большие модальные страницы. Достаточное состояние передается модалам, чтобы они загружали свои данные в свои хранилища.
У меня проблема в том, что мне нужно получить начальное состояние (передаваемое как реквизит) в хранилище модального компонента. Вэта почта хорошие ребята из Facebook говорят, что нормально использовать реквизит для начального состояния, когда синхронизация не является целью.
Вот как я сейчас получаю начальное состояние в своем магазине:
var ABC = React.createClass({
...
getInitialState: function() {
return ABCStore.getInitialABCState(this.props.initialA);
},
...
var ABCStore = Reflux.createStore({
...
init: function() {
_state = {
a: null,
b: 'B init',
c: 'C init'
};
},
getInitialABCState: function(initialA) {
_state.a = initialA;
return _state;
},
getABCState: function() {
return _state;
}
...
Я не уверен, что лучше всего делать это, или это анти-паттерн Flux?