在 Javascript 中,字符串是不可变的,对字符串的引用相当于复制字符串 istelf。
在 Falcor 中,我可以使用{$type:"ref", value:[...]}
. Falcor 声称要保持数据一致性,因此如果模型包含引用,它们最终会指向同一个 JS 对象(因此保持一致性变得微不足道)。
来自JSON Graph 上的 Falcor 文档:
JSON Graph 允许将图建模为 JSON,而不会引入重复项。不是将实体多次插入同一消息,而是将具有唯一标识符的每个实体插入到 JSON Graph 对象中的单个全局唯一位置。
但是,我看不出这如何适用于字符串。
假设,我有一个这样的模型:
{jsonGraph:{
foo: {text: 'aaa'},
bar: {text: {$type: "ref", value: ["foo", "text"]}},
}}
当我更新时会发生什么foo.text
?也会bar.text
更新吗?如果是,它是如何工作的?