Я работаю над проектом React-Native.
После того, как я реализовал переход экрана, конкретный экран прокручивался вверх, как bottom_img. На исходном экране ввод текста был внизу.
Чтобы решить эту проблему, я использовал обе библиотеки: react-native-router-flux
и react-navigation
. Однако возникают те же проблемы.
Существует код, в котором возникает эта проблема.
Как я могу решить эту проблему?
render() {
const { chatLog } = this.props;
// console.log("In ChatRoom this.state:", this.state);
const contentsTopBottomMargin = 8;
return (
<View style={styles.container}>
<Header
title={chatLog ? "ChatLog" : "MyHome"}
left={this.renderChatRoomHeaderLeft()}
right={this.renderChatRoomHeaderRight()}
/>
<View style={styles.chatRoomContents}>
<ScrollView
style={{
paddingBottom: contentsTopBottomMargin,
paddingTop: contentsTopBottomMargin
}}
ref={ref => (this.scrollView = ref)}
onContentSizeChange={(contentWidth, contentHeight) => {
this.scrollView.scrollToEnd({ animated: true });
}}
>
{this.state.currentDialog
? this.state.currentDialog.map((dialog, index) => (
<ChatElement
key={index}
speaker={dialog.speaker}
text={dialog.text}
/>
))
: null}
</ScrollView>
{this.state.isTextInput & !this.state.isFinished ? (
<TextInputFooter onPress={this.handleTextInput} />
) : null}
{this.state.isFinished ? <ButtonInputFooter onPress={this.routeToLogList} /> : null}
</View>
</View>
);