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就可以了

refer this

试试这个

<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>