РЕШЕНИЕ внизу
У меня есть раскрывающееся меню, и когда я выбираю из него элемент - он больше не должен быть доступен в раскрывающемся списке.
I Извлекайте из доступных продуктов API, сохраняйте их в избыточном количестве - то же самое с выбранными продуктами.
Я хочу сделать так, чтобы у меня был массив всех продуктов (выполнено), массив выбранных продуктов (выполнено) и Массив, который отображается во внешнем интерфейсе, представляет собой список всех продуктов, отфильтровывающих элементы в обоих массивах.
Если я выполняю вычисления в компоненте, он работает только после перемонтирования компонента.
const productsAvailable = state => state.products.allProducts;
const productsChosen = state =>state.newproducts.allProducts;
вычисление, которое я делаю:
const productsToChoseFrom =
productsAvailable &&
productsAvailable.filter(
el =>
productsChosen &&
!productsChosen.map(product => product).includes(el)
);
Как бы я сделал это вычисление в селекторе?
// ответ - использование creteSelector из reselect
const productsToChoseFrom = createSelector(
productsAvailable,
productsChosen,
(productsOff, productsRendere) =>
productsOff &&
productsOff.filter(el =>
productsRendere
? !productsRendere.map(cycle => cycle.interval).includes(el)
: productsOff
)
);
то, что я на самом деле упустил, это троичный, поэтому он не обновится ..