В Javascript, strings are immutable, а ссылки на строки эквивалентны копированию строки istelf.Как модель Falcor обрабатывает ссылки на строки?
В Falcor я могу ссылаться на строки, используя {$type:"ref", value:[...]}
. Falcor утверждает, что поддерживает согласованность данных, поэтому, если модель содержит ссылки, они в конечном итоге указывают на один и тот же объект JS (поэтому сохранение согласованности становится тривиальным).
От Falcor docs on JSON Graph:
JSON График позволяет график, чтобы быть смоделирован как JSON без введения дубликатов. Вместо того, чтобы вставлять объект в одно и то же сообщение несколько раз, каждый объект с уникальным идентификатором вставляется в одно, глобально уникальное местоположение в объекте Graph JSON.
Однако я не вижу, как это применимо к строкам.
Пусть говорят, у меня есть модель, как это:
{jsonGraph:{
foo: {text: 'aaa'},
bar: {text: {$type: "ref", value: ["foo", "text"]}},
}}
Что происходит, когда я обновляю foo.text
? Будет ли обновляться bar.text
? И если да, то как это работает?