concurrent-world icon indicating copy to clipboard operation
concurrent-world copied to clipboard

スクロール位置の保持

Open totegamma opened this issue 2 years ago • 1 comments

タイムラインから通知→タイムラインや、 特にタイムラインからメッセージ個別→タイムラインへの遷移の際にタイムラインを元の場所から再開したい

totegamma avatar Aug 27 '23 01:08 totegamma

実現方法は2パターン?

  • 一番上の投稿をステートに入れておいて、そこから読み込み治す
    • 上に戻るのが難しい
  • そもそもアンマウントしない
    • 一番シンプル
    • だがreact-router-domをどうこれに適用させるかがむずい

totegamma avatar Jan 03 '25 06:01 totegamma

そもそもアンマウントしない作戦 react-router-domとの親和性をいろいろ考えた結果、contextで1つレンダリングしておいて、react-reverse-portalで子ページにレンダリングするという方法が(若干つらみがあるが)一番シンプルそう

totegamma avatar Jun 12 '25 10:06 totegamma

タイムラインの場所を保持するのではなくて、メッセージ詳細がドロワーとかでまず出てくればそれでいいんじゃないの?みたいな話

完全にスマホアプリとかの使用感に近づけるなら、ホームタブで誰かのプロフィールページを開いた後、他のタブに移動して戻ってきた時にもプロフィール画面であってほしいよね でもそれってURIとページが紐付かないってことを意味するのでさまざまな困難がある

作ってみてそれなりに動いてはいるものの、ページによって扱いが異なるようになるので人によっては意図しない挙動になるし、やってることもちょっとだけトリッキーなので今後の開発の妨げにならないか結構微妙〜なライン

totegamma avatar Jun 12 '25 11:06 totegamma

#887 で実装 様子見

totegamma avatar Jun 12 '25 12:06 totegamma