How to scroll to bottom in react?

前端 未结 19 907
执笔经年
执笔经年 2020-11-28 18:27

I want to build a chat system and automatically scroll to the bottom when entering the window and when new messages come in. How do you automatically scroll to the bottom of

19条回答
  •  悲&欢浪女
    2020-11-28 19:03

    As Tushar mentioned, you can keep a dummy div at the bottom of your chat:

    render () {
      return (
        
    {this.renderMessages()}
    { this.messagesEnd = el; }}>
    ); }

    and then scroll to it whenever your component is updated (i.e. state updated as new messages are added):

    scrollToBottom = () => {
      this.messagesEnd.scrollIntoView({ behavior: "smooth" });
    }
    
    componentDidMount() {
      this.scrollToBottom();
    }
    
    componentDidUpdate() {
      this.scrollToBottom();
    }
    

    I'm using the standard Element.scrollIntoView method here.

提交回复
热议问题