Следующий скрипт работал нормально на mobx 3.5.1 и mobx-реагировать 4.4.1
this.filters = observable.map();
this.charges = observable([]);
....
...
this.filteredCharges = computed(() => this.charges.filter(
charge => !this.filters.keys().some(
columnName => charge[columnName].toString().toLowerCase()
.indexOf(this.filters.get(columnName).toLowerCase()) === -1,
),
));
Только что сделал обновление до mobx 5.6.0 и mobx-реагировать 5.3.6
и начать получать ошибку
TypeError: _this.filters.keys(...).some is not a function
После прочтения это имеет смысл.
Все итерации больше не создают массив как итератор, а только реальный
итератор, чтобы быть более тесно связаны с официальными спецификациями. Так
ранее observableMap.values () возвращал массив и итератор,
но теперь он вернет только итератор. Так ты больше не можешь делать
observableMap.values (). карта (п). Вместо этого используйте
Array.from (observableMap.values ()). Map (fn) или
mobx.values (observableMap) .map (п). Затрагиваемые итераторы: 1.
итератор по умолчанию для наблюдаемых массивов. 2. Итератор по умолчанию для
наблюдаемые карты. observableMap.entries (), observableMap.keys () и
observableMap.values ().
https://github.com/mobxjs/mobx/wiki/Migrating-from-mobx-3-to-mobx-4
Вопрос в том, как эффективно изменить вышеуказанный скрипт, чтобы он работал с
обновить версию mobx.