TextInput return 在 React Native 中输入
TextInput return type in React Native
我试图用从 TextInput 获取值的 useState 更新 firebase 数据库。但显然 useState 数据类型更改为对象而不是字符串。我该怎么做,因为 firebase 只需要字符串来更新数据库。
const UpdateUser = async () => {
try {
db.ref("users/" + auth.currentUser.uid).update({
name: newuser,
});
} catch (error) {
alert(error);
}
setNewuser("");};
文本输入代码:
<View>
<Text style={styles.ProfileName}>Display Username:</Text>
<TextInput
placeholder={user}
value={newuser}
onChange={(text) => {
setNewuser(text);
}}
/>
<Button onPress={UpdateUser} title="Change" />
</View>
onChangeText 是一个简单的 prop,它给出每次更改时输入字段的值。//string
onChange 通过 { nativeEvent: { eventCount, target, text} }
传递一个事件。 //对象
您可以找到更多关于差异的信息 here。
只需将其更改为 onChangeText 即可。
把onChange改成OnChangeText就可以了
试试这个
<View>
<Text style={styles.ProfileName}>Display Username:</Text>
<TextInput
placeholder={user}
value={newuser}
onChange={(e) => {
setNewuser(e.target.value);
}}
/>
<Button onPress={UpdateUser} title="Change" />
</View>
我试图用从 TextInput 获取值的 useState 更新 firebase 数据库。但显然 useState 数据类型更改为对象而不是字符串。我该怎么做,因为 firebase 只需要字符串来更新数据库。
const UpdateUser = async () => {
try {
db.ref("users/" + auth.currentUser.uid).update({
name: newuser,
});
} catch (error) {
alert(error);
}
setNewuser("");};
文本输入代码:
<View>
<Text style={styles.ProfileName}>Display Username:</Text>
<TextInput
placeholder={user}
value={newuser}
onChange={(text) => {
setNewuser(text);
}}
/>
<Button onPress={UpdateUser} title="Change" />
</View>
onChangeText 是一个简单的 prop,它给出每次更改时输入字段的值。//string
onChange 通过 { nativeEvent: { eventCount, target, text} }
传递一个事件。 //对象
您可以找到更多关于差异的信息 here。 只需将其更改为 onChangeText 即可。
把onChange改成OnChangeText就可以了
试试这个
<View>
<Text style={styles.ProfileName}>Display Username:</Text>
<TextInput
placeholder={user}
value={newuser}
onChange={(e) => {
setNewuser(e.target.value);
}}
/>
<Button onPress={UpdateUser} title="Change" />
</View>