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)

0 ответов

Другие вопросы по тегам