Мне было интересно, сталкивался ли кто-нибудь с этой проблемой с Android.
У меня есть простая форма с вводом текста, и я сохраняю ввод пользователя в firebase, пока пользователь печатает.Он отлично работает в iOS, но в Android он повторяет фрагменты текста при вводе, поэтому вы получаете искаженный беспорядок.Для удаления одного символа необходимо нажать несколько раз клавишу Backspace.
Вот отрывок из того, как я пытаюсь это сделать:
componentDidMount() {
this.unsubscribe = this.ref.onSnapshot(this.onDocumentGet);
}
render() {
return (
<View style={{ alignItems: 'center', marginBottom: 16 }}>
<Text>Comments</Text>
<Input
label="Message"
onChangeText={text => this.onChangeText('notes', text)}
multiline
value={this.state.message.notes}
/>
</View>
);
}
onDocumentGet = (doc) => {
let message = {};
if (doc.exists) {
const {
notes, messageDate,
} = doc.data();
message = {
key: doc.id,
notes,
messageDate,
};
}
this.setState({
message,
});
}
onChangeText(field, value) {
this.ref.update({
[field]: value,
});
}
Или есть другой, лучшийспособ сохранить текст, как печатают пользователи.Мы хотели бы не просить пользователей нажимать кнопку, чтобы сохранить их изменения.
Спасибо, ребята!