React Native / Как можно решить скроллинг экрана вверх? - PullRequest
0 голосов
/ 29 октября 2018

Я работаю над проектом React-Native. После того, как я реализовал переход экрана, конкретный экран прокручивался вверх, как bottom_img. На исходном экране ввод текста был внизу.

image description

Чтобы решить эту проблему, я использовал обе библиотеки: 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>
);
...