我最近开始使用mobx状态树,我有一个实际问题。
我有一个模型 types.identifier
types.identifier
example that Michel has on egghead ,我需要通过一个首字母 id MyModel.create() 但是,在初始状态下,只有当我将创建内容发布到API并获得结果创建的资源时,才会知道这个ID。
id
MyModel.create()
我用mobx状态树搜索了一个简单的crud示例,但是没有找到(建议?)。
这里的最佳实践是什么?我应该做一个吗`MyModel.create创建({id:'foobar'})并在发布到API时将其清除(并在收到API的响应后更新实例)?
这是mobx状态树当前设计的一个限制。 Identifiers are immutable .
我看到的解决这个问题的一个策略是存储持久层的 id 在一个与你的 types.identifier 字段。然后你会使用一个像 uuid 生成 价值观:
import { v4 } from "node-uuid" const Box = types .model("Box", { id: types.identifier, name: "hal", x: 0, y: 0 }) const box = Box.create({ 'hal', 10, 10, id: v4() })