如果怕手机关掉东西就不见了
来使用 AsyncStorage 将状态存到手机也就是 local storage 里吧!
一个简单、非同步、持久化的 Key-Value 储存系统,它对於 App 来说是全域性的。可用来代替 LocalStorage。
AsyncStorage 存储的位置根据系统的不同而有所差异。
iOS 中的存储类似於 NSUserDefault,通过 plist 文件存放在设备中。 Android 中会存储在 RocksDB 或者 SQLite 中,取决於你使用哪个。
PS.Android 上有大小限制,最大只能存 6MB。如果需要的话,可以覆盖这个限制,参考这个doc。
npm install @react-native-async-storage/async-storage
cd ios
pod install
import AsyncStorage from "@react-native-async-storage/async-storage";
const saveData = (value) => {
try {
AsyncStorage.setItem('Data_KEY', value);
} catch (e) {
console.log("error", e);
}
};
const [dataItem,setDataItem]=useState(null)
const getData = async () => {
try {
const item = await AsyncStorage.getItem('Data_KEY');
const itemParse = JSON.parse(item);
setDataItem(itemParse)
} catch (e) {
console.log("error", e);
}
};
这样简单的操作利用 key 的存取直接在需要的地方取用就完成了唷!!
当然也可以做简单的封装,可以参考这两个唷!
封装参考 A
封装参考 B
最後提供 AsyncStorage API
Day 21 done! 请多多指教 ~
<<: 【Day25】[演算法]-合并排序法Merge Sort
这几天看了一些铁人赛的文章,看到一些很不错的文章,当然也看到很多不知所云的内容 观察整体趋势是劣币驱...
这一天原本想贴一贴学员心得,所以完全没有准备什麽内容。 学员毕业心得,没有强制要每个离开的学员写。...
前言 在前一篇文章中,我们了解了怎麽使用 _app.tsx 撰写共用 layout 的 compon...
昨天计画要做以下三个内容: 1.所有栏位的位置(保留中文的栏位名称即可) 2.日期资料格式(因为资料...
可是我的心,比整个宇宙,还要大了那麽一点点。 -- 费尔南多‧佩索亚, 诗选:A Little L...