我正在使用 React Native 開發一個應用程式,它允許您創建自己的清單并向其中添加專案。
例如,您將擁有“創建清單”,在其中您可以選擇“添加專案”、“洗掉專案”、“編輯專案”、基本 CRUD 方法等。
它將完全脫機,但我想知道在本地存盤這些資料的最佳方法是什么。
我應該使用諸如firebase之類的資料庫嗎?我已經讀過它是矯枉過正并使用像 Redux 這樣的東西,但我不確定后者是否能完成我需要的一切。只要它存盤可以編輯的資料,并且將保存在用戶的設備上(以最小的努力),這對我來說聽起來不錯。
希望對此有一些意見,謝謝!
uj5u.com熱心網友回復:
您可以使用AsyncStorage在用戶手機上本地保存資料。它是一個簡單的持久鍵值存盤。
每個清單很可能是一個 JS 物件陣列。該檔案提供了有關如何存盤物件的示例。
const storeData = async (value) => {
try {
const jsonValue = JSON.stringify(value)
await AsyncStorage.setItem('@storage_Key', jsonValue)
} catch (e) {
// saving error
}
}
value引數是任何 JS 物件。我們JSON.stringify用來創建一個 JSON 字串。我們使用AsyncStorage.setItem以持久化資料。字串@storage_Key是物件的鍵。這可以是任何字串。
我們按如下方式檢索持久物件。
const getData = async () => {
try {
const jsonValue = await AsyncStorage.getItem('@storage_Key')
return jsonValue != null ? JSON.parse(jsonValue) : null;
} catch(e) {
// error reading value
}
}
這兩個例子都取自官方檔案。
請記住,此功能應用于persistence only. 如果應用程式正在運行,您應該在某種應用程式快取中加載完整串列,或者如果串列非常大,則加載部分串列。現在,此功能的實作很大程度上取決于您當前代碼的外觀。如果您有一個簡單的視圖,那么您可以訪問本地存盤,并將其存盤在本地狀態中。
function MySuperList() {
const [list, setList] = useState([]);
React.useEffect(() => {
// retrieve data using the above functionality and set the state
}, [])
// render list
return (...)
}
save button我會為此串列實施某種形式。如果它被按下,那么我們將資料保存在手機的本地存盤中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/531735.html
標籤:数据库反应式贮存
上一篇:Selenium無法獲取此類
