![](https://cdn-ak-scissors.b.st-hatena.com/image/square/502f48c047fb1a93942c7f97837a71371e071537/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--S3yzboae--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252580%252590React%2525E3%252580%252591%2525E3%252583%252589%2525E3%252583%2525A9%2525E3%252583%252583%2525E3%252582%2525B0%252526%2525E3%252583%252589%2525E3%252583%2525AD%2525E3%252583%252583%2525E3%252583%252597%2525E3%252581%2525A7%2525E4%2525B8%2525A6%2525E3%252581%2525B9%2525E6%25259B%2525BF%2525E3%252581%252588%2525E3%252581%2525A7%2525E3%252581%25258D%2525E3%252582%25258B%2525E3%252583%2525AA%2525E3%252582%2525B9%2525E3%252583%252588%2525E3%252582%252592%2525E5%2525AE%25259F%2525E8%2525A3%252585%2525E3%252581%252599%2525E3%252582%25258B%2525E8%2525A9%2525B1%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AReona%252520Oshima%252520%252528toto...%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2kwd1Y5ek9FYzhIa1pmSEdIby10cG90NWt6RzM3VzR1QkhwbllEPXM5Ni1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【React】ドラッグ&ドロップで並べ替えできるリストを実装する話
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【React】ドラッグ&ドロップで並べ替えできるリストを実装する話
ドラッグ状態で触れた要素のindexがそのまま移動先になると考えるのが1番簡単そうです。 やりたいこと ... ドラッグ状態で触れた要素のindexがそのまま移動先になると考えるのが1番簡単そうです。 やりたいこと これが検知できるのはonDragEnter,onDragOver,onDropということになります。 ただ、これだと末尾に移動させることができません。 なのでカーソルが触れている位置で移動先を変えることにします。 「上側 → index」「下側 → index + 1」 加えてゴースト(またはキャレット)の表示位置はドラッグ中に移動先が変わるたび更新しないといけないので、移動先の決定にはonDragOverを使用することになります。 ミニマムな実装 以上を踏まえてミニマムに実装したのがこちらです。(ゴーストなどは未実装) 補足 iOSのSafariではdraggable属性だけではなく、CSSで -webkit-user-darg: elementを付けていないとonDragStartが