この記事では、新しいメッセージを受信したときにチャット ウィジェットのスクロールバーが上部に固定されたままになるという一般的な問題に対処します負荷。私たちの目標は、前の配列の最後のメッセージ要素にスクロールバーをフォーカスすることです。
この問題を解決するには、以下を行う必要があります。
React 16.8 、機能コンポーネント:
const ScrollDemo = () => { const myRef = useRef(null); const executeScroll = () => myRef.current.scrollIntoView(); // Scroll to the element return ( <> <div ref={myRef}>Element to scroll to</div> <button onClick={executeScroll}>Click to scroll </button> </> ); };
React 16.3 、クラスコンポーネント:
class ReadyToScroll extends Component { constructor(props) { super(props); this.myRef = React.createRef(); } render() { return <div ref={this.myRef}>Element to scroll to</div>; } executeScroll = () => this.myRef.current.scrollIntoView(); // Scroll to the element }
クラスコンポーネント - 参照コールバック:
class ReadyToScroll extends Component { render() { return <div ref={(ref) => (this.myRef = ref)}>Element to scroll to</div>; } executeScroll = () => this.myRef.scrollIntoView(); // Scroll to the element }
重要な注意事項:
html { scroll-behavior: smooth; }
以上がReact でチャット ウィジェットの一番下までスクロールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。