redux-persist-transform-encrypt дает "неожиданный конец ввода JSON" при повторной гидратации
Я строю реагирующий натив, где мне нужно зашифровать локально хранящиеся данные:
- узел 7.10.1
- нпм 4.2.0
- "redux": "^ 3.7.2", "redux-logger": "^ 3.0.6", "redux-persist": "^ 4.10.1", "redux-persist-transform-encrypt": "^ 1.0 0,2"
Мой код выглядит так:
import { compose, applyMiddleware, createStore } from 'redux';
import {mainReducer} from './reducers/reducers';
import { createLogger } from 'redux-logger'
import thunk from 'redux-thunk'
import {getStoredState, persistStore, autoRehydrate } from 'redux-persist'
import {AsyncStorage} from 'react-native';
import createAsyncEncryptor from 'redux-persist-transform-encrypt';
const loggerMiddleware = createLogger({
level:'console',
logErrors:true,
predicate: (state, action) =>{
console.log('---redux log---------'+action.type+'---------------------------------------');
}
});
export const store = createStore(
mainReducer,
compose(
autoRehydrate( {log:true} ),
applyMiddleware(thunk, loggerMiddleware)
)
);
const asyncEncryptor = createAsyncEncryptor({
secretKey: 'my-super-secret-key'
});
const persistConfig = {
storage: AsyncStorage,
transforms:[
asyncEncryptor
],
serialize: true
}
export const persister = persistStore(
store,
persistConfig,
()=>{
console.log('Rehydration complete');
}
);
Он сохраняется правильно без шифрования, но когда я добавляю преобразование шифрования по этой ссылке, он записывает зашифрованные постоянные данные, но при регидратации я получаю ошибку "неожиданный конец ввода JSON".
ExceptionsManager.js:73 SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at sync.js:30
at helpers.js:32
at Object.out (createTransform.js:21)
at getStoredState.js:63
at Array.reduceRight (<anonymous>)
at rehydrate (getStoredState.js:62)
at getStoredState.js:50
at AsyncStorage.js:86
at MessageQueue.__invokeCallback (MessageQueue.js:354)