Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将变量导出到异步存储?_Javascript_Reactjs_Asyncstorage - Fatal编程技术网

Javascript 如何将变量导出到异步存储?

Javascript 如何将变量导出到异步存储?,javascript,reactjs,asyncstorage,Javascript,Reactjs,Asyncstorage,我想将我的user\u id变量从authActions.js导出到auth.js的user\u KEY const,这可能吗 这是我的authActions.js函数,其中生成user\u id export function loginUser(email, password) { return function (dispatch) { return axios.post(SIGNIN_URL, { email, password }).then((response) =>

我想将我的
user\u id
变量从authActions.js导出到auth.js的user\u KEY const,这可能吗

这是我的
authActions.js
函数,其中生成
user\u id

export function loginUser(email, password) {
  return function (dispatch) {
    return axios.post(SIGNIN_URL, { email, password }).then((response) => {
      var { user_id, token } = response.data;
      console.log('my user_id = ' + user_id);
      console.log('my token = ' + token);
      dispatch(authUser(user_id));
      isSignedIn();
    }).catch((error) => {
      console.log(error);
      dispatch(addAlert("Could not log in."));
    });
  };
}
这是我的
auth.js
,其中有
const USER\u键

import { AsyncStorage } from "react-native";

export const USER_KEY = "auth-key";
console.log('USER_KEY ' + USER_KEY);

export const onSignIn = () => AsyncStorage.setItem(USER_KEY, "true");
export const onSignOut = () => AsyncStorage.removeItem(USER_KEY);

export const isSignedIn = () => {
  return new Promise((resolve, reject) => {
    AsyncStorage.getItem(USER_KEY)
      .then(res => {
        if (res !== null) {
          resolve(true);
        } else {
          resolve(false);
        }
      })
      .catch(err => reject(err));
  });
};
更改:

export const onSignIn = () => AsyncStorage.setItem(USER_KEY, "true");
致:

然后在帖子的
.then()
中,您可以执行以下操作:

onSignIn(user_id);

但随后立即检查
isSignedIn()
可能不会像预期的那样工作,因为
AsyncStorage
是异步的。如果他们刚刚获得了
用户id
令牌
,是否需要立即检查?

这是正确的。正在工作,但要看到效果,我必须刷新应用程序。你知道如何立即检查吗?
onSignIn(user_id);