gpt4 book ai didi

javascript - 如何修复react-native中的TypeError : Converting circular structure to JSON at JSON. stringify ()

转载 作者:行者123 更新时间:2023-12-02 23:44:19 25 4
gpt4 key购买 nike

我需要将 Firebase 身份验证 token 作为用户存储在 React Native 异步存储中。这是我的代码。

loginUser = async (email, pw) => {
if (this.state.isConnected) {
if (email != '' && pw != '') {
try {
let user = fb.auth().signInWithEmailAndPassword(email, pw).catch((err) => {
alert('Invalid email or password');
});
this.storeUser(JSON.stringify(user))
console.log(user);
} catch (error) {
console.log(error);
}
}
}
}

storeUser = async (user) => {
try {
await AsyncStorage.setItem('User', JSON.stringify(user)).then(() => {
console.log("Success user");
})
} catch (e) {
console.log(e);
}
}

但它给了我这个错误

TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)

谁能帮我解决这个问题吗?

最佳答案

signInWithEmailAndPassword(email, pw) 的用法不正确函数调用,firebase.auth.signInWithEmailAndPassword()函数返回 Promise<UserCredential>当您调用 JSON.stringify() 时会出错的对象在上面。

返回的UserCredential需要使用 then() 从 Promise 中检索对象Promise的方法类(class)。见下文:

try {
fb.auth().signInWithEmailAndPassword(email, pw).then(function(userCred) => {
this.storeUser(userCred);
console.log(JSON.stringify(userCred)); // so you can see a JSON string in the logs
}).catch((err) => {
alert('Invalid email or password');
});
}

免责声明:由于未显示整个功能,因此请使用上面的内容

关于javascript - 如何修复react-native中的TypeError : Converting circular structure to JSON at JSON. stringify (<anonymous>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55918345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com