Лучший способ модуля с реакцией - PullRequest
0 голосов
/ 18 июня 2020

Итак, в основном я разрабатываю это приложение с помощью 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 - хотя он и был зарегистрирован в вычисляемой функции (что я также не понял) .

Есть ли лучший способ сделать это?

...