[解決済み】reactで一番下までスクロールさせるには?
2022-04-10 10:28:26
質問
チャットシステムを構築し、ウィンドウに入った時や新しいメッセージが来た時に自動的に一番下までスクロールさせたいと思っています。Reactでコンテナの底に自動的にスクロールさせるにはどうしたらいいですか?
どのように解決するのですか?
Tusharさんがおっしゃるように、チャットの一番下にダミーのdivをおいておけばいいのです。
render () {
return (
<div>
<div className="MessageContainer" >
<div className="MessagesList">
{this.renderMessages()}
</div>
<div style={{ float:"left", clear: "both" }}
ref={(el) => { this.messagesEnd = el; }}>
</div>
</div>
</div>
);
}
を作成し、コンポーネントが更新される (つまり、新しいメッセージが追加されるたびに状態が更新される) たびに、そこにスクロールするようにします。
scrollToBottom = () => {
this.messagesEnd.scrollIntoView({ behavior: "smooth" });
}
componentDidMount() {
this.scrollToBottom();
}
componentDidUpdate() {
this.scrollToBottom();
}
私は、標準の Element.scrollIntoView というメソッドがあります。
関連
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] React jsのonClickはメソッドに値を渡すことができない
-
[解決済み] Reactのstateとpropsの違いとは?
-
[解決済み] Reactでブラウザのリサイズ時にビューを再描画する
-
[解決済み] Reactの "after render "コード?
-
[解決済み] ある要素にスクロールするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jestの `beforeEach` グローバルは何のためにあるのですか?
-
[解決済み] reactでonloadを使うには?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] マテリアルUIセレクトフィールドのマルチセレクト
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] react router dom v4でwebpack dev serverを構成する方法は?
-
[解決済み] React JS Jestで「SyntaxError: 予期しないトークン"
-
[解決済み] AxiosにCORSの問題が発生
-
[解決済み] React JSXのforEach()でHTMLが出力されない