Я собираюсь сделать что-то, что, как я думал, уже много раз делалось с Immutable.js Списками, но я не могу найти этот случай. У меня есть 2 списка. Один с предметами. И тот, который содержит ключи элементов, выбранных в качестве данных. пользователи, которые выбрали вещи из предметов в основном. Я храню ключ от элементов как данные в профиле пользователя, который выбрал элемент (в базе данных Firebase, не то, чтобы это имело значение). Поэтому я хочу просто отфильтровать элементы в моем приложении с помощью селектора. В селекторе я ищу, чтобы сравнить ключ из элементов с ключом, который я сохранил в профиле пользователя.
Если это совпадение, дайте мне соответствующие данные из элементов в качестве состояния для использования. Я считаю, что это должен быть какой-то фильтр на Предметы какой-то Чтобы сделать сравнение, мне также нужно получить сохраненные данные ключа в профиле пользователя для сравнения, который также является неизменным списком.
Я пытаюсь
const selectedItems = items.filter(
item => {
userItems.forEach(userItem => {
if (userItem.itemKey === item.key) {
return item <-------pretty sure this is where Im doing it wrong
}
})
});
Если я жестко закодирую запись из своего профиля пользователя и фильтра, я получаю то, что ожидаю, - это новый отфильтрованный список с одним элементом, совпадающим с идентификатором ниже.
const selectedItems = items.filter(
item => {
return item.get('key') === '-LDR5cNZPjthN6nK9tzJ'
});