从 asyncstorage 获得承诺而不是价值

时间:2021-08-01 09:02:47

标签: javascript node.js reactjs redux asyncstorage

我正在尝试将用户数据从异步存储获取到 redux 存储的初始状态,但即使在 redux 存储中添加异步等待后,也从异步存储中获取承诺而不是值。在控制台上的函数中。记录其工作很好,但是当我尝试获取它的返回值时,它给了我一个承诺而不是对象值。

import AsyncStorage from '@react-native-async-storage/async-storage'
import {createStore , combineReducers , applyMiddleware} from 'redux'
import thunk from 'redux-thunk'
import { userLoginReducer, userRegisterReducer } from './reducers/userReducers'

const reducer = combineReducers({
userLogin : userLoginReducer,
userRegister : userRegisterReducer
})
const getData = async () => {
        const value =  await AsyncStorage.getItem('user');
        if (value !== null) {
            // Our data is fetched successfully
            var newVal =JSON.parse(value)
            console.log(newVal.name)
            return newVal

        }
    

}
const dataFromAsyncStorage = getData().then(res=> {
    console.log(res)
})


const initialState = {
userLogin : {user : dataFromAsyncStorage ?  dataFromAsyncStorage : null} 
}


console.log(initialState)


const middleware = [thunk]

const store = createStore (
    reducer ,
    initialState ,
    applyMiddleware(...middleware)
)

export default store

我希望数据处于初始状态。 请指导我同样的

0 个答案:

没有答案