当我试图更改数据时-更改正在进入我的FiRestore数据库,这是可以的,但当我重新加载页面或注销并try 再次登录时-用户数据不会出现在我的项目中,但也会存储在我的Firestore Database
中.如何在重新加载页面后保存和显示项目中的用户数据?
这是我的代码
const [email, setEmail] = useState('')
const [phone, setPhone] = useState('')
const [language, setLanguage] = useState('')
const [valute, setValute] = useState('')
const [instagram, setInstagram] = useState('')
const {user} = UserAuth()
const createUser = (email, password) => {
createUserWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
const user = userCredential.user;
const uid = user.uid;
setDoc(doc(db, 'users', uid), {
email: email,
name: name,
password: password,
phone: phone,
language: language,
instagram: instagram,
valute: valute,
});
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
// ..
});
}
const updatePerson = async(email, phone, language, valute, instagram, name, ) => {
await updateDoc(doc(db, 'users', user.uid), {email, phone, language, valute, instagram, name})
}
<input type="text" placeholder={name || user.displayName || user.email || user.phoneNumber} className='form-control' onChange={(e) => setName(e.target.value)}/>
<input type="text" placeholder={instagram} className='form-control' onChange={(e) => setInstagram(e.target.value)}/>
<input type="text" placeholder={email} className='form-control' onChange={(e) => setEmail(e.target.value)}/>
<input type="text" placeholder={phone} className='form-control' onChange={(e) => setPhone(e.target.value)}/>
<input type="text" placeholder={language} className='form-control' onChange={(e) => setLanguage(e.target.value)}/>
<input type="text" placeholder={valute} className='form-control' onChange={(e) => setValute(e.target.value)}/>