介绍
redux-persist是一种Redux状态持久化工具,它可以将你的整个redux store存储在本地存储中,以便在应用程序在重新加载时恢复状态。 redux-persist-sensitive-storage是redux-persist依赖项,用于在存储敏感数据时提供更高级别的安全性。
这篇文章将讲解如何使用redux-persist-sensitive-storage。
安装
首先,使用npm安装redux-persist和redux-persist-sensitive-storage:
npm install redux-persist redux-persist-sensitive-storage --save
配置
首先,我们需要在redux createStore函数中将redux-persist添加为一个middleware。 我们要导入redux-persist的PersistReducer和autoRehydrate,并将它们应用在我们的store上。
-- -------------------- ---- ------- ------ - ------------ --------------- - ---- -------- ------ - ------------- --------------- ------------- - ---- ---------------- ------ ---------------- ---- ---------------------------------- ------ -------- ---- ------------- ----- ------------- - - ---- ------- -------- ----------------- ---------- --------- -- ----- ---------------- - ----------------------------- ---------- ----- ----- - ------------ ----------------- ---------- ----------------------- --------------- -- ----- --------- - ------------------- --- -- -- - ----------------- ---
在上面的代码中,我们定义了一个名为persistConfig的常量,为redux-persist提供配置。 然后,我们使用persistReducer将reducer与配置组合起来,并将其分配给persistedReducer。 接下来,我们使用applyMiddleware调用redux-persist并引入中间件autoRehydrate。最后,我们传递persistedReducer和store来创建我们的store。
使用教程
现在,我们可以使用redux-persist-sensitive-storage来存储敏感数据。 首先,我们需要创建一个包含所有要存储的数据的对象。 然后,我们可以使用persistStore来持久保存它。 下面是一个示例:
import { persistStore } from 'redux-persist'; const data = {}; persistStore(store, {blacklist: []}, () => { console.log('redux store re-hydrated'); });
在以上代码中,我们定义了一个存储在data常量中的数据对象。 然后,我们调用persistStore并将我们的store、一个空白的白名单(由于我们要保存所有数据)和一个回调函数传递给它。 在回调函数中,我们只是简单地向控制台输出一条消息,告诉我们存储已恢复。
总结
redux-persist-sensitive-storage可以让我们以更安全、更保护性的方式存储敏感数据。 在你的应用程序中实现它非常简单,只需遵循本文提供的步骤就可以了。 希望这篇文章对希望使用redux-persist-sensitive-storage的开发人员有所帮助。
示例代码
-- -------------------- ---- ------- ------ - ------------ --------------- - ---- -------- ------ - ------------- --------------- ------------- - ---- ---------------- ------ ---------------- ---- ---------------------------------- ------ -------- ---- ------------- ----- ------------- - - ---- ------- -------- ----------------- ---------- --------- -- ----- ---------------- - ----------------------------- ---------- ----- ----- - ------------ ----------------- ---------- ----------------------- --------------- -- ----- --------- - ------------------- --- -- -- - ----------------- --- ------ - ------------ - ---- ---------------- ----- ---- - --- ------------------- ----------- ---- -- -- - ------------------ ----- -------------- ---
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572cc81e8991b448e8fde