React Native 在本地存储用户数据
React Native store userdata locally
我想存储例如本地用户的密码和用户名,用户并不总是需要再次登录。
我刚刚看到教程 但没有办法将 json 与数据存储在例如一个普通的文件夹。有什么好处或好处是什么?编译应用程序时看起来如何?会不会有错误? :)
例子:
user {
"name":"max",
"password":"123456"
}
(我知道以纯文本形式存储密码并不聪明,这只是一个例子:D)
您可以使用这个 react-native-fs 包。如您所知,存储用户名和密码并不是一个好的解决方案。 AsyncStorage 可用于为应用程序上下文存储用户数据。如果是图像或特定文件(如 PDF 等),则存储文件很好...,其中有大量数据要存储。 AsyncStorage 或其他安全存储对您可以保存的数据大小有限制。
我建议您使用 AsyncStorage。它也可以在本地存储 json 数据以及普通数据。
如果您正在努力添加“记住登录”,请使用此逻辑 - 一旦用户登录应用程序,就将数据存储在 AsyncStorage 中 AsyncStorage.setItem()
DemoLogin.js
login = (
username,
password,
) => {
axios
.post(apiEndPoint + "login", {
username,
password,
})
.then(async (response) => {
if (response.data) {
if (response.data.success) {
this.storeData(response.data);
this.props.navigation.replace("HomeScreen");
} else {
toast.show(response.data.message);
}
} else {
toast.show("There is some issue with API");
}
})
.catch((err) => {
toast.show("There is some issue with API");
});
};
storeData = async (userData) => {
try {
await AsyncStorage.setItem("userdata", JSON.stringify(userData));
} catch (error) {
console.log("error while storing data", error);
}
};
我想存储例如本地用户的密码和用户名,用户并不总是需要再次登录。
我刚刚看到教程
例子:
user {
"name":"max",
"password":"123456"
}
(我知道以纯文本形式存储密码并不聪明,这只是一个例子:D)
您可以使用这个 react-native-fs 包。如您所知,存储用户名和密码并不是一个好的解决方案。 AsyncStorage 可用于为应用程序上下文存储用户数据。如果是图像或特定文件(如 PDF 等),则存储文件很好...,其中有大量数据要存储。 AsyncStorage 或其他安全存储对您可以保存的数据大小有限制。
我建议您使用 AsyncStorage。它也可以在本地存储 json 数据以及普通数据。
如果您正在努力添加“记住登录”,请使用此逻辑 - 一旦用户登录应用程序,就将数据存储在 AsyncStorage 中 AsyncStorage.setItem()
DemoLogin.js
login = (
username,
password,
) => {
axios
.post(apiEndPoint + "login", {
username,
password,
})
.then(async (response) => {
if (response.data) {
if (response.data.success) {
this.storeData(response.data);
this.props.navigation.replace("HomeScreen");
} else {
toast.show(response.data.message);
}
} else {
toast.show("There is some issue with API");
}
})
.catch((err) => {
toast.show("There is some issue with API");
});
};
storeData = async (userData) => {
try {
await AsyncStorage.setItem("userdata", JSON.stringify(userData));
} catch (error) {
console.log("error while storing data", error);
}
};