代码之家  ›  专栏  ›  技术社区  ›  Donato Azevedo

Mobx状态树创建表单类型.标识符模型上的字段

  •  0
  • Donato Azevedo  · 技术社区  · 7 年前

    我最近开始使用mobx状态树,我有一个实际问题。

    我有一个模型 types.identifier

    example that Michel has on egghead ,我需要通过一个首字母 id MyModel.create() 但是,在初始状态下,只有当我将创建内容发布到API并获得结果创建的资源时,才会知道这个ID。

    我用mobx状态树搜索了一个简单的crud示例,但是没有找到(建议?)。

    这里的最佳实践是什么?我应该做一个吗`MyModel.create创建({id:'foobar'})并在发布到API时将其清除(并在收到API的响应后更新实例)?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nathan Jones    7 年前

    这是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() })
    
    推荐文章