Итак, в основном я разрабатываю это приложение с помощью MobX (в котором я новичок), и у меня есть кое-что, что меня сбило с толку.
Я попытался сделать это OOP как (не знаю, хорошо ли это), и у меня есть что-то вроде:
Store
|- Filters (class)
|- Filter (class)
|- VisualData (class)
|- Property (class)
|- Data (class)
Теперь мне нужно получить новые VisualData (некоторые вычисления внутри) на основе данных dervied данных и фильтров вместе.
Это означает, что я получаю данные с сервера и сохраняю их в «Data». Затем я устанавливаю фильтры и визуальные данные.
Отсюда, каждый раз, когда я меняю фильтры, мне нужно, чтобы менялись и визуальные данные.
Лучшее, что я придумал, было:
updateVisualDataByFilters = reaction(
() => toJS(this.filters),
(filters) => {
this.VisualData.setData(
this.Data.getFilteredData(
this.filters.getDataFilters,
),
);
},
)
Мне пришлось использовать «to JS», иначе он не зарегистрировал изменение this.filters - хотя он и был зарегистрирован в вычисляемой функции (что я также не понял) .
Есть ли лучший способ сделать это?