概要
react-rndは、Reactの要素をドラッグ可能かつリサイズ可能にするコンポーネントです。初期位置・サイズを渡す簡単な使い方から、親stateでpositionとsizeを完全に制御する使い方まで対応します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
位置とサイズを一つのRndコンポーネントで扱う
defaultで初期値を渡す非制御利用と、position・size・各callbackを使う制御利用を選べます。
出典:[2]
グリッド・比率固定・ハンドルを調整する
drag/resize grid、最小・最大サイズ、aspect ratio、ドラッグハンドル、リサイズハンドルなどを指定できます。
出典:[2]
ダッシュボードや編集画面の可動パネルに
ウィンドウ風UI、ダッシュボード、キャンバス上の要素など、利用者が位置や大きさを直接操作するReact画面に向きます。
出典:[2]
親要素のscaleと制御stateの同期に注意する
親側で拡大縮小している場合はscaleを合わせ、制御モードではonDragStopやonResizeStopで親stateを正しく更新してください。
出典:[2]
参考にした公式資料
- [1]bokuweb/react-rnd repository(2026-09-21)
- [2]react-rnd README(2026-09-21)
- [3]react-rnd package(2026-09-21)
- [4]react-rnd MIT license(2026-09-21)
編集部からの補足
react-rndはドラッグとリサイズを一つの`Rnd`コンポーネントへまとめたライブラリです。現在のパッケージは10.5.3で、peer dependencyはReact/React DOM 16.3以上です。親要素にCSS transformで拡大縮小をかける場合は`scale`を合わせないと移動量・リサイズ量がずれる点に注意してください。
3ステップで試す
- 1
react-rndを追加
公式READMEのnpm手順でパッケージをReactプロジェクトへ追加します。
npm i -S react-rnd - 2
Rndコンポーネントを配置
defaultで初期位置とサイズを指定した最小構成を配置します。
<Rnd default={{ x: 0, y: 0, width: 320, height: 200 }}>Rnd</Rnd> - 3
ドラッグとリサイズを確認
要素を移動・サイズ変更し、必要に応じてposition/sizeの制御モードへ発展させます。
Drag the element → resize from a handle
成長
成長の推移 · 直近30日
4,325 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 25
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Redux61,490 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Application全体のStateをStoreに集約し、ActionとReducerで予測可能に更新するJavaScript/TypeScript向けState Management Library。現在はRedux Toolkitが公式推奨。
TypeScript - Expo52,361 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
React Nativeを土台にAndroid・iOS・Webを一つのproject modelで開発し、Router/Modulesをまとめるuniversal app framework。
TypeScript - tldraw50,488 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Reactにinfinite canvasを組み込み、custom shape・multiplayer・AI workflowへ拡張できるSDK。
TypeScript - TanStack Query50,342 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
APIから取得するサーバー側データの取得・キャッシュ・再取得・更新を管理する非同期データ管理ライブラリ。React/Vue/Solid/Svelte等に対応する。
TypeScript - React Hook Form44,868 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Reactのフォーム入力・検証・送信状態をHooksで管理するフォームライブラリ。ネイティブinputを活かしながら再レンダリングを抑える。
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。