concurrent-world
concurrent-world copied to clipboard
スクロール位置の保持
タイムラインから通知→タイムラインや、 特にタイムラインからメッセージ個別→タイムラインへの遷移の際にタイムラインを元の場所から再開したい
実現方法は2パターン?
- 一番上の投稿をステートに入れておいて、そこから読み込み治す
- 上に戻るのが難しい
- そもそもアンマウントしない
- 一番シンプル
- だがreact-router-domをどうこれに適用させるかがむずい
そもそもアンマウントしない作戦 react-router-domとの親和性をいろいろ考えた結果、contextで1つレンダリングしておいて、react-reverse-portalで子ページにレンダリングするという方法が(若干つらみがあるが)一番シンプルそう
タイムラインの場所を保持するのではなくて、メッセージ詳細がドロワーとかでまず出てくればそれでいいんじゃないの?みたいな話
完全にスマホアプリとかの使用感に近づけるなら、ホームタブで誰かのプロフィールページを開いた後、他のタブに移動して戻ってきた時にもプロフィール画面であってほしいよね でもそれってURIとページが紐付かないってことを意味するのでさまざまな困難がある
作ってみてそれなりに動いてはいるものの、ページによって扱いが異なるようになるので人によっては意図しない挙動になるし、やってることもちょっとだけトリッキーなので今後の開発の妨げにならないか結構微妙〜なライン
#887 で実装 様子見