以下の内容はhttps://uga-box.hatenablog.com/entry/2024/08/09/000000より取得しました。


【React】react-beautiful-dnd の`{provided.placeholder}`とは

react-beautiful-dndのドキュメントをみていて、Droppableコンポーネントの最後の子要素にある{provided.placeholder}がよくわからなかったので調べた

目的

provided.placeholderの主な目的は、ドラッグ操作中にドラッグされているアイテムの元の位置を維持すること

ドラッグ中にUIのレイアウトが崩れることを防ぐためにある

機能

  • スペースの確保: ドラッグ中、アイテムが元の位置から離れても、その位置に適切なスペースを確保する
  • レイアウトの安定性: ドラッグ操作中にリストの他のアイテムが不自然に動くのを防ぐ
  • スクロール位置の維持: 長いリストでドラッグ操作を行う際、スクロール位置を適切に維持する

使用方法

provided.placeholderを、Droppableコンポーネントの子要素として配置する

通常、リストの最後に配置する

   <Droppable droppableId="list">
     {(provided) => (
       <div
         {...provided.droppableProps}
         ref={provided.innerRef}
       >
         {/* Draggableアイテムのリスト */}
         {items.map((item, index) => (
           <Draggable key={item.id} draggableId={item.id} index={index}>
             {/* Draggableの内容 */}
           </Draggable>
         ))}
         {provided.placeholder}
       </div>
     )}
   </Droppable>

動作の仕組み

カスタマイズ

デフォルトでは、プレースホルダーは透明で視覚的に見えないが、必要に応じてCSSを使用してプレースホルダーの外観をカスタマイズすることができる




以上の内容はhttps://uga-box.hatenablog.com/entry/2024/08/09/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14