マイライブラリドキュメント

マルチルートサイドバー

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

概要

リサイズ可能な分割パネル + React用のドラッグ&ドロップ動的分割

@byeolnaerim/flex-layoutはリサイズ可能な分割パネルUIとドラッグ&ドロップベースの動的分割を迅速に構成するためのReactコンポーネントです。

例えば、左側は店舗の商品リストビュー、右側は実際の着用プレビューを見るビューとして画面を構成したい場合、そして各ビューがリサイズ可能である必要がある場合、このライブラリは良いアイデアを提供できます。


起源の物語

最初の @byeolnaerim/flex-layoutは私が2年目の開発者だったとき、個人プロジェクトとしてバニラJSベースのビジネス用メッセンジャーを作ろうとしたときに生まれました。

私はそれがまるでSlackやVSCodeのように各構成間で互いにリサイズできることを望んでいました。私にとってVSCodeの左側のビュー構成が素晴らしく見えたので、私が作ったものがVSCodeに似た動作をすることを望んでいました。

時が経つにつれ、私はReactに初めて入門し、これをTypeScript、RxJS、Reactベースのコンポーネントとして再構築しました。ドラッグでリサイズ可能な既存のレガシーの分割ビュー機能から、"まるでVSCodeとほぼ同じように動作することを望む。"という私の過去の哲学のためにドラッグ&ドロップで動的分割ビューを作成する機能まで拡張しました。


Grow Normalization

@byeolnaerim/flex-layoutを最初に作成したとき、私はflex-growを親レイアウトFlexLayout 基準として子コンテナFlexLayoutContainer の数を全体のgrowの上限としてmaxGrow, 各コンテナの比率をその中で正規化normalizeして配分すべき概念として理解していました。(これは誤った解釈でした。)

例えば、子コンテナが2つある場合、max growは2で、比率が30% / 70%であれば、実際のgrowは0.668 / 1.332であるべきだと考えていました。その仮定のもとに補正ロジックが積み重なり、今の形になりました。@byeolnaerim/flex-layoutこうなりました。

Repo: github.com/joohyoungkim19940805/flex-layout

© 2026 Byeolnaerim. 無断転載を禁じます。紹介プライバシーポリシー