【问题标题】:Getting random object in AsyncStorage in React Native with Redux在 React Native 中使用 Redux 在 AsyncStorage 中获取随机对象
【发布时间】:2021-12-31 17:32:30
【问题描述】:

大家好,我正在使用 react-native 构建一个应用程序,因为我在身份验证时使用 redux 我被困在某个地方我正在获取令牌,因为下面的随机对象是我的代码

---减速器---

import { LOGIN_SUCCESS, LOGIN_FAIL, LOGOUT_SUCCESS } from '../actions/type';
import AsyncStorage from '@react-native-async-storage/async-storage';

const initialState = {
    token: AsyncStorage.getItem('token'),
    isAuthenticated: false,
    isLoading: true
};

export default function (state = initialState, action) {
    switch (action.type) {
        case LOGIN_SUCCESS:
            AsyncStorage.setItem('token', action.payload.token);
            return {
                ...state,
                ...action.payload,
                isAuthenticated: true,
                isLoading: false,
            };
        case LOGIN_FAIL:
        case LOGOUT_SUCCESS:
            AsyncStorage.removeItem('token');
            return {
                ...state,
                ...action.payload,
                token: null,
                isAuthenticated: false,
                isLoading: false,
            };
        default:
            return state;
    }
}

---动作---

axios.post(api_url+'login', formdata, config)
    .then((res) => {
        console.log("res",res.data)
        if(res.data.status == "true") {            
            dispatch({
                type: LOGIN_SUCCESS,
                payload: res.data.data,
            });
            dispatch(returnMsg(res.data.msg,res.data.status))
        }
        if(res.data.status == "false") {
            dispatch({
                type: LOGIN_FAIL,
                payload: res.data,
            });
            dispatch(returnMsg(res.data.msg,res.data.status))
        }        
    })
    .catch((err) => {
        console.log(err);
});

我在应用程序中调用reducer来检查下面的令牌是代码

const actiondata = useSelector((state) => state.auth);
const {token} = actiondata;
console.log(token);

这是我在控制台时得到的随机令牌值 "{"_h": 0, "_i": 1, "_j": null, "_k": null}"

【问题讨论】:

    标签: react-native redux react-redux


    【解决方案1】:

    AsyncStorage.getItem 是一个异步调用,需要等待。您要返回的对象是一个未决的承诺。

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 2021-07-23
      • 2019-07-15
      • 2023-02-08
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多