I was trying to update firebase database with useState that got its value from TextInput. But apparently the useState datatype changed to object instead of string. How do I go about this since firebase only takes string to update the database.
const UpdateUser = async () => {
try {
db.ref("users/" + auth.currentUser.uid).update({
name: newuser,
});
} catch (error) {
alert(error);
}
setNewuser("");};
TextInput Code:
<View>
<Text style={styles.ProfileName}>Display Username:</Text>
<TextInput
placeholder={user}
value={newuser}
onChange={(text) => {
setNewuser(text);
}}
/>
<Button onPress={UpdateUser} title="Change" />
</View>
>Solution :
onChangeText is a simple prop, that gives whatever is the value of the input field on every change.//string
onChange passes an event with { nativeEvent: { eventCount, target, text} }. //object
You can find more about the difference here.
Simply change it to onChangeText will work.