首页 > 解决方案 > 如果存在安全密钥,则反应本机加载 initalstate

问题描述

我有一个初始状态,如果安全密钥存在与否,我想设置不同的对象。

我收到此错误消息:无法使用下面的代码找到变量 initalstate。

如果我用 getSecureKey 删除函数,那么它就可以工作。但我需要检查密钥是否存在。

getSecureKey.js

import * as SecureStore from 'expo-secure-store';

const getSecureKey = async () => {
  const key = await SecureStore.getItemAsync('jwt');
  return key;
};

export default getSecureKey;

授权切片

import { createSlice } from '@reduxjs/toolkit';
import getSecureKey from '../../../utilies/getSecureKey';

getSecureKey()
  .then(res => {
    if(res.length > 0) {
      const initialState = {
        process: false,
        loggedIn: true,
        message: '',
        error: '',
      };
    } else {
      const initialState = {
        process: false,
        loggedIn: false,
        message: '',
        error: '',
      };
    }
  })
.catch(e => e);

const AuthSlice = createSlice({
  name: 'auth',
  initialState,
  reducers: {
    authProcess(state, action) {
      state.process = true;
    },
    authSuccess(state, action) {
      console.log(action.payload);
      state.process = false;
      state.loggedIn = action.payload.register;
      state.message = action.payload.message;
    },
    authFailure(state, action) {
      state.process = false;
      state.message = '';
      state.error = action.payload
    }
  }
});

export const { authProcess, authSuccess, authFailure } = AuthSlice.actions;

export default AuthSlice.reducer;

标签: reactjsreact-nativereduxexporedux-toolkit

解决方案


推荐阅读