В чем разница между ObservableMap и ObservableArray в mobx

Согласно документации,

observable.map (values?) создает наблюдаемую карту с динамическим ключом. Наблюдаемые карты очень полезны, если вы не хотите реагировать только на изменение конкретной записи, но также на добавление или удаление записей.

Возможно, я единственный, кто не понимает разницы между этими двумя наблюдаемыми типами mobx. Даже в документе говорится, что карта может отслеживать добавление или удаление, следующий массив также уведомляет консоль с помощью автозапуска, когда новое значение помещается в массив. Так в чем же реальная разница между ними?

window.q = observable([1,2,3]);
autorun(()=>{console.log(q[0]);})
q.push(32)

person XPD    schedule 17.12.2017    source источник


Ответы (1)


Разница в методах взаимодействия с ними. Думайте об одном как о массиве, а о другом как о карте. Массивы хранят индексы, карты хранят ключи и значения.

person Kyle Richardson    schedule 17.12.2017