Ваш пример утверждает, у вас есть карта, но это выглядит, как ваша карта содержит изменяемые значения данных. Создание карты, как это ..
import Immutable from 'immutable'
const initialState = Immutable.Map({
job: [
{text: 'a'},
{text: 'b'}
]
})
приведет к структуре данных, которая выглядит следующим образом ...
Map {
job: [
{text: 'a'},
{text: 'b'}
]
})
где job
является массивом и объекты массива являются объекты.
Если это действительно структура данных, которую вы желаете, вы можете попробовать использовать mudash, который способен обрабатывать смешанные типы данных.
import Immutable from 'immutable'
import _ from 'mudash'
const initialState = Immutable.Map({
job: [
{text: 'a'},
{text: 'b'}
]
})
const newState = _.delete(initialState, 'job[0]') // Map { job: [{text: 'b'}] }
'({job: {text: 'a'}}) === ({job: {text: 'a'}}) // false'. Вы должны использовать ссылку на **, что ** объект, который вы хотите удалить, а не другой объект с той же структурой и значениями. – Ginden
@Ginden Я думал, что это будет сделано автоматически immutable.js, нет? –
Как вы видите, это не так. – Ginden