diff --git a/configureStore.js b/configureStore.js index 94e0c2c..de6a793 100644 --- a/configureStore.js +++ b/configureStore.js @@ -1,11 +1,20 @@ import { createStore } from "redux"; -import { persistStore, persistReducer } from "redux-persist"; +import { persistStore, persistReducer, createTransform } from "redux-persist"; import AsyncStorage from "@react-native-community/async-storage"; import rootReducer from "./reducers"; +function decode(toRehydrate) { + return JSON.parse(toRehydrate, (_, value) => { + if (typeof value === "string" && value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/)) + return new Date(value); + return value; + }); +} + const persistConfig = { key: "root", storage: AsyncStorage, + transforms: [createTransform(JSON.stringify, decode)], }; const persistedReducer = persistReducer(persistConfig, rootReducer);