У меня есть данные, которые поступают в следующем формате как action.places
.Установите пользовательские ключи immutablejs для предотвращения дублирования данных?
Я хотел бы объединить это только с новыми данными и вернуться к новой карте обновленных мест. Если я получаю объект мест, и одно из мест имеет тот же lat/lon, что и в предыдущем месте, я не хочу добавлять эти данные.
{
places: [
{
place: {
lat: 123,
lon: 321,
}
},
{
place: {
lat: 432,
lon: 234,
}
},
]
}
Как бы это сделать с помощью карты? В настоящее время я, добавляя таким образом, но все дублируется, я не могу найти нон беспорядочный решение:
case RECEIVE_PLACES:
return state
.set('places', state.get('places').update(fromJS(action.places)))
В идеале я бы установить ключ каждого OBJ в [${lat},${lon}
] (только единственным способом для идентификации место), таким образом мне нужно будет только перебирать ключи, чтобы получить мои места.
Основываясь на этом описании, я считаю, что вам следует использовать 'Set' вместо' List' для хранения «мест». – Josep
Я использую «карту». @Josep - я обновил вопрос. – eveo
Нет, это не так. На верхнем уровне вы находитесь, но «места» - это список, это потому, что 'fromJS' по умолчанию преобразует массив в список. – Josep