React Native - 持久化存储(AsyncStorage)的使用详解
一,基本概念
1,AsyncStorage介绍
AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的。它用来代替 LocalStorage。
- 由于它的操作是全局的,官方建议我们最好针对 AsyncStorage 进行一下抽象的封装再使用,而且不是直接拿 AsyncStorage 进行使用。
AsyncStorage 存储的位置根据系统的不同而有所差异。iOS 中的存储类似于 NSUserDefault,通过 plist 文件存放在设备中。Android 中会存储在 RocksDB 或者 SQLite 中,取决于你使用哪个。
2,相关方法
(1)根据键来获取值,获取的结果会放在回调函数中。
1 |
string, callback:(error, result)) |
(2)根据键来设置值。
1 |
string, value: string, callback:(error)) |
(3)根据键来移除项。
1 |
string, callback:(error)) |
(4)合并现有值和输入值。
1 |
string, value: string, callback:(error)) |
(5)清除所有的项目
1 |
|
(6)获取所有的键
1 |
keys)) |
(7)清除所有进行中的查询操作。
1 |
|
(8)获取多项,其中 keys 是字符串数组,比如:['k1', 'k2']
1 |
callback:(errors, result)) |
(9)设置多项,其中 keyValuePairs 是字符串的二维数组,比如:[['k1', 'val1'], ['k2', 'val2']]
1 |
callback:(errors)) |
(10)删除多项,其中 keys 是字符串数组,比如:['k1', 'k2']
1 |
callback:(errors)) |
(11)多个键值合并,其中 keyValuePairs 是字符串的二维数组,比如:[['k1', 'val1'], ['k2', 'val2']]
1 |
callback:(errors)) |
二、使用样例
1,效果图
(1)在文本输入框中输入姓名、电话后,点击“保存”按钮即可通过 AsyncStorage 存储起来。
(2)退出程序后再次打开,程序又会自动加载之前保存的信息。
(3)点击“清除”按钮则将本地保存的数据全部清除。
2,样例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
{ from
from
{
= {name: phone:
= this;
= [
function(errs, result){
(result[0][1]!=null)?result[0][1]:
(result[1][1]!=null)?result[1][1]:
{
=> this.setState({name})}/>
=> this.setState({phone})}/>
onPress={this.save.bind(this)}>保存</
onPress={this.clear.bind(this)}>清除</
{
= [[ this.state.name], [ this.state.phone]]
function(errs){
{
= this;
{
styles.topStatus]}>
styles =
1,
5,
10,
() => |
以上是 React Native - 持久化存储(AsyncStorage)的使用详解 的全部内容, 来源链接: utcz.com/z/381254.html