Раньше я создавал приложения, используя реакцию + mobx, делая хранилища и передавая их через провайдера и внедряя декораторы. (Некоторые из этих приложений большие, много данных, форм, сеток...)
// store.js
class Store {
@mobx.observable counter = 0;
@mobx.action
increaseCounter = () => {
this.counter++;
}
}
// App.js
class App extends Component {
constructor(props){
super(props);
this.store = new Store();
}
render(){
return(
<mobx.provider store={this.store}>
<AppChildren />
</mobx.provider>
);
}
}
// AppChildren.js
@mobx.inject('store')
class AppChildren extends Component {
render(){
const { counter, increaseCounter } = this.props.store;
return(
<div onClick={increaseCounter}>{counter}</div>
);
}
}
В этом примере, независимо от того, сколько дочерних элементов в дереве у меня есть, я всегда смогу внедрить хранилище и работать с ним БЕЗ передачи реквизитов состояния/наблюдаемых объектов вниз, и снова, и снова, и снова (это приложение его немного устарел, теперь я знаю контекст лучше).
Я пытаюсь не отставать от методологий реагирования, поэтому я читал о хуках и уже немного поиграл с ними, есть какой-то шаблон, похожий на этот, представленный выше? Есть что-то лучше этого?
Ну, если у кого-то есть совет, статья, учебник или что-то еще, я буду очень признателен!