DataInstanceStore

DataInstanceStore 用来操作某些实体的单一实例。可以通过 instance initializer 函数创建:

dataInstance = instance<Pet>(Pet.NAME, {view: 'pet-with-owner-and-type', loadImmediately: false});

在一个功能组件中,需要将对 instance 的调用包装在 React.useRef 中,或者使用更方便的 hook:useInstance

const dataInstance = useInstance<Pet>(
  Pet.NAME,
  {
    view: 'pet-with-owner-and-type',
    loadImmediately: false
  }
);

// 注意,此时 `dataInstance` 是 React 的 `MutableRefObject`。
// `DataInstanceStore` 包含在其 `current` 属性中。
dataInstance.current.load(entityId);

使用 dataInstance.commit() 方法可以更新实体:

dataInstance.item.name = 'New Name';
dataInstance.commit()

对于字符串 ID 的实体,需要用 stringIdName 参数提供字符串 ID 的属性名称:

dataInstance = instance<Pet>(Pet.NAME, {
    stringIdName: 'identifier'
});