Я использую MobX и Redux около 6 месяцев. Я обнаружил, что предпочитаю простоту MobX для большинства приложений. Тем не менее, мне нравится концепция единого магазина Redux. Я слышал, как другие комментируют, что они создают единую историю с MobX, и я пытаюсь определить лучший способ. В настоящее время я создаю несколько магазинов, а затем импортирую их в один магазин.
class UiStore {
@observable uiData;
constructor() {
this.uiData = {}
}
@action updateUI = (data) => {
this.uiData = {
data: data
};
}
}
let uiStore = new UiStore();
export default uiStore;
class Store {
@observable currentUser;
constructor() {
this.auth = authStore;
this.ui = uiStore;
}
}
let store = new store();
export default store;
Здесь я в основном создаю отдельные хранилища, которые затем объединяются в одно хранилище, подобно тому, как работает редукционный редьюсер.
Есть ли другой / лучший способ? Я подумал о том, чтобы, возможно, импортировать хранилище в разные файлы и поместить некоторые методы и данные в класс prototype
.