Недавно мы перешли на 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?