跳到主要内容

useCloudStorage

小程序数据存储器。 提供一个类似 useState 的接口存储, 通过一个指定的 key 来读写数据,多次设值数据会间隔 500ms 发送一次给协同者, key-value 键值对会被持久化的存储。 当 value 变化的时候,会触发重新渲染,value 的变化可能来自于其他的协作者。

Type parameters

NameDescription
S默认值

参数

NameTypeDescription
keystring存储时的 key 值
initValue?S | () => S初始默认值, 可以传入值或者函数,原理与 useState 参数相同

返回值

[S, Dispatch<SetStateAction<S>>, boolean]

分别为 [返回值,设置值方法、是否有权限写入]

示例

import { useCloudStorage } from '@apitable/widget-sdk';

// 一个简单的计数器
function Counter() {
const [counter, setCounter, editable] = useCloudStorage('counter', 0);
return (
<div>
Counter: {counter}
<Button size="small" disable={!editable} onClick={() => setCounter(counter + 1)}>+</Button>
<Button size="small" disable={!editable} onClick={() => setCounter(counter - 1)}>-</Button>
</div>
);
}