我有適用于 switch 的類組件
state = {
showMen: this.props.user.showMen,
showWomen: this.props.user.showWomen,
}
updateUser = (key, value) => {
const {uid} = this.props.user
firebase.database().ref('Users').child(uid)
.update({[key]:value})
}
render() {
const { showMen, showWomen} = this.state
<View style={styles.switch}>
<Text>Show Men</Text>
<Switch
value={showMen}
onValueChange={val => {
this.setState({showMen:val})
this.updateUser('showMen', val)
}}
/>
</View>
<View style={styles.switch}>
<Text>Show Women</Text>
<Switch
value={showWomen}
onValueChange={val => {
this.setState({showWomen:val})
this.updateUser('showWomen', val)
}}
/>
</View>
</View>
我想轉換為 Hook 組件并希望將資料插入到現有用戶資料的 firestore 中可能是 setDoc() 應該使用但我在將此類更改為 hook 時遇到問題 有人可以幫助我 如何更改此代碼以掛鉤組件并插入到Firestore 謝謝你
uj5u.com熱心網友回復:
我已經改變了;但我并沒有悄悄地理解 setDoc() 在做什么???
如果您能提供更多資訊,那就太好了。
const Comp = ({ user }) => {
const [showMen, setShowMen] = useState(user.showMen);
const [showWomen, setShowWomen] = useState(user.showWomen);
const updateUser = (key, value) => {
const { uid } = user;
firebase
.database()
.ref("Users")
.child(uid)
.update({ [key]: value });
};
return (
<View>
<View style={styles.switch}>
<Text>Show Men</Text>
<Switch
value={showMen}
onValueChange={(val) => {
setShowMen(val);
updateUser("showMen", val);
}}
/>
</View>
<View style={styles.switch}>
<Text>Show Women</Text>
<Switch
value={showWomen}
onValueChange={(val) => {
setShowWomen(val);
updateUser("showWomen", val);
}}
/>
</View>
</View>
);
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370885.html
上一篇:如何從當前日期獲得最接近的日期?
下一篇:改變徽章的顏色-條件
