我是react native的初学者,我尝试通过axios API get请求从mysql数据库获取用户信息。
登录后,我将电子邮件地址存储在AsyncStorage中,以后想使用AsyncStorage中的该电子邮件地址作为参数来获取用户详细信息。
我写了一段代码,将setState的初始状态设置为"na"。请帮助我如何从AsyncStorage传递电子邮件地址作为参数。
这是我的代码。
// to load email address
const [SessionEmail, setSessionEmail] = useState('na');
// to load users info
const [users, setUsers] = useState([]);
useFocusEffect(
React.useCallback(() => {
getUsername();
getUsersInfoFromAPI();
}, [])
);
// to get the session username from localstorage
const getUsername = async () => {
try {
const username = await AsyncStorage.getItem('Username')
if (username !== null) {
setSessionEmail(username);
}
} catch (e) {
console.log(e);
}
}
// API Calling user details
const getUsersInfoFromAPI = async () => {
await axios.get(`https://myapi.co.in/api/user/?email=${SessionEmail}`)
.then(response => {
setUser(response.data);
})
.catch(error => {
console.log(error);
});
}
页面呈现后,我从metro加载页面,可以看到参数已经发送到服务器。
2条答案
按热度按时间bnlyeluc1#
按以下方式更新代码:
而不是保存您的电子邮件到状态,直接发送到函数,但如果你是出于其他原因使用它,你仍然可以保存它,但调用函数,同时从AsyncStorage获得用户名与用户名参数如下.
x一个一个一个一个x一个一个二个x
9rbhqvlz2#
在这里你可以这样使用
我希望这对你有帮助