Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/

CRUD - React Native SDK

在此页面上

  • 事务生命周期

RealmProvider中,您可以使用useRealm()钩子访问权限域 。 然后,您可以使用 Realm 创建Realm对象。 写入() ACID 事务区块。

写事务(write transaction)中的所有操作都是 原子 性的 。如果写事务(write transaction)中的某个操作失败,则整个ACID 事务将失败, Realm会引发错误,并且ACID 事务区块中的任何更改都不会应用于域。

每个写入操作都必须在写事务中发生。

const CreatePersonInput = () => {
const [name, setName] = useState('');
const realm = useRealm();
const handleAddPerson = () => {
realm.write(() => {
realm.create('Person', {_id: PERSON_ID, name: name, age: 25});
});
};
return (
<>
<TextInput value={name} onChangeText={setName} />
<Button
onPress={() => handleAddPerson()}
title='Add Person'
/>
</>
);
};

一个给定 realm 一次只能处理一个写事务。当您执行写事务时,realm 会将该事务添加到队列中。该 realm 会按照每个事务到达的顺序对其进行评估。

处理完一个事务后,Realm 会提交或将其取消

  • 提交后,该 Realm 将应用事务中的所有操作。一旦应用,该 Realm 会自动更新实时查询。它通知监听器已创建、修改和删除的对象。

    • 使用同步时,SDK 还会将更改排队发送到 Atlas App Services。当网络可用时,SDK 会发送这些更改。

    • 提交后,useQueryuseObject 返回的对象和集合会重新呈现,从而包含相关更改。

  • Realm 不会在已取消的事务中应用任何操作。如果某一操作失败或无效,Realm 则会取消事务。

后退

地理空间数据

在此页面上