我想将usere_id存储为全局值状态,所以我创建了global.js
module.exports = {
users_id: "",
};
并将其导入post.js,那么如何将数据存储在Global.users_id中并在我想要的任何地方使用它... 我尝试过
Login = async () => {
const response = await fetch("http://192.168.6.107:8080/login", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
username: this.state.username,
password: this.state.password,
})
});
const data = await response.json();
console.log("data", data);
console.log("data.suc", data.success);
if (data.success) {
AsyncStorage.setItem("user", JSON.stringify(data.user));
console.log("DATAAA>>>>",data)
const global= data.user.users_id
const global2= GLOBAL.users_id.setState({
users_id:global
})
console.log("global",global2)
}
return data.success;
};
我想从此数据中获取users_id
DATAAA>>>> Object {
"success": true,
"user": Array [
Object {
"password": "ddd",
"username": "ddd",
"users_id": 1,
},
],
}
答案 0 :(得分:2)
您可以在任何地方声明全局变量,如下所示:
global.userID = 3
// and use it Login like this
global.userID // value = 3
但是,不建议您经常这样做。也许您应该看看Redux。
答案 1 :(得分:0)
如果要在任何地方使用它,请创建一个存储和使用全局变量的变量。
global.js
let users_id = "";
...
function set_users_id(data) {
users_id = data;
}
function get_users_id() {
return users_id;
}
用法
import * as global from "filepath/global.js"
...
let user_id = data.user[0].user_id
global.set_users_id(user_id)
import * as global from "filepath/global.js"
alert(global.user_id) // return 1
alert(global.get_users_id()) // return 1