У меня есть пользовательский интерфейс, как это:Flux личного магазина для компонента
First User: <UserSelect value={this.state.user1} />
Second User: <UserSelect value={this.state.user2} />
...
Other User: <UserSelect value={this.state.user3} />
UserSelect
Где это компонент для выбора пользователя с автозаполнением. Их может быть много. Один тип компонента может слушать singleton Store in Flux. Но в моем случае изменение стоимости в одном компоненте UserSelect
влияет на состояния других.
Как мне создать приложение для решения этой проблемы?
Создать один магазин на один компонент в componentDidMount
?
// not flux way
componenDidMount: function() {
this.usersStore = UsersStore.createStore();
this.usersStore.on('change', ...);
}
Или сделать что-то вроде селекторов запросов в магазине?
// flux way, but affects all mounted components on page
componenDidMount: function() {
UsersStore.on('change', this.update);
},
update: function() {
this.setState({
items: UserStore.get({ loginLike: this.state.inputValue })
});
},
handleInputChange: function(e) {
this.setState({ inputValue: e.target.value });
loadUsersAction({ loginLike: e.target.value });
}
Или ...?
Спасибо за ссылки. Но мне sltil не нравится, что у компонентов есть ненужные подписки и призывы. – mctep