Вы можете прямо попробовать закуску: https://snack.expo.io/@jarvisluong/keyboard-avoiding-chat-input

Вы хотите создать приложение для чата в React Native, и теперь вы пытаетесь сделать так, чтобы ввод в чат повышался с клавиатуры. Есть так много решений с руководствами, но вы еще не нашли свою золотую середину, что-то вроде этого:

React Native поставляется с компонентом KeyboardAvoidingView. Он просто меняет раскладку в соответствии с клавиатурой. Этот компонент предоставляет нам 3 различных способа изменения своего макета. На мой взгляд, использование «padding» дает наиболее предсказуемые результаты. В основном, когда клавиатура поднимается, этот компонент добавляет отступ к области, которую покрывает клавиатура, и перемещает дочерние элементы вверх.

Контент будет помещен в ‹ScrollView /› в этом ‹KeyboardAvoidingView /›, элемент ‹TextInput /› будет помещен в конец представления (и поверх клавиатуры, когда он поднимется)

Использование ‹ScrollView /› даст эффект, при котором можно нажать за пределами клавиатуры, чтобы закрыть его, что популярно в приложениях для чата.

Вот как это просто! Наслаждаться!