v2への移行
React-Bootstrap v2は、Bootstrap 5との完全な互換性を追加します。Bootstrap 5はプロジェクトの大幅な書き直しであるため、React-Bootstrap v1から大幅な破壊的変更があります。
最初に上流のBOOTSTRAP移行ガイドをお読みください
移行ガイドを見る
React-Bootstrapは、バニラBootstrapに存在するコンポーネントのみを含んでいます。機能がBootstrapから削除された場合、React-Bootstrapからも削除されました。このガイドは、上流の移行ガイドにある情報を繰り返すものではありません。その目的は、React-Bootstrap固有のAPIの変更点と追加点を文書化することです。
バージョニング
react-bootstrap
でBootstrap 4のサポートに依存し続けるプロジェクトが多数あるため、Bootstrap 4コンポーネントの一般的なメンテナンスを継続します。react-bootstrap
パッケージのバージョンは次のようになります。
- Bootstrap 3のサポートは、react-bootstrapの
v1.0.0
未満のバージョンで継続されます。 - Bootstrap 4のサポートは、react-bootstrapの
v1.0.0
以上のバージョンで提供されます。 - Bootstrap 5のサポートは、react-bootstrapの
v2.0.0
以上のバージョンで提供されます。
私たちは、Bootstrapのメジャーリリースと足並みを揃えて破壊的な変更を維持することを約束するものではありません。プロジェクトにとって最適なものによっては、Bootstrap 6をターゲットとするReact-Bootstrap v3が存在する可能性があります。
v1.xからの破壊的変更の概要
以下は、破壊的なAPIの変更点の大まかな説明と、移行するための最小限の変更点です。
一般
- 新しいJSX変換をサポートするには、React >= 16.14.0が必要になりました。
アコーディオン
- アコーディオンはカードベースではなくなり、異なるマークアップで書き直されました。
AccordionContext
の値インターフェースが変更されました。AccordionToggle
はAccordionButton
に名前が変更されました。useAccordionToggle
はuseAccordionButton
に名前が変更されました。
バッジ
variant
はbg
に名前が変更されました。
ButtonGroup
toggle
を削除しました。
CardColumns
CardColumns
を削除しました。
CloseButton
label
プロパティを削除し、aria-label
を使用するようにしました。variant
プロパティを追加しました。
Col
ColOrder
は、最大値が12ではなく、5になりました。- ブレークポイントプロパティでオブジェクトを使用する場合、
span
はデフォルトでtrue
ではなくなりました。
Dropdown
- ドロップダウンの区切り線は、デフォルトで
div
ではなくhr
を使用します。 - 配置値の
left
とright
がそれぞれstart
とend
に変更されました。 alignRight
を削除しました。代わりにalign="end"
を使用してください。
DropdownButton
menuAlign
プロパティを削除し、代わりにalign
を使用するようにしました。
DropdownItem
onSelect
を削除しました。代わりに、親のDropdown
でonSelect
を使用してください。
DropdownMenu
alignRight
を削除しました。代わりにalign="end"
を使用してください。
Form
inline
を削除しました。bsPrefix
を削除しました。
FormCheck
bsCustomPrefix
とcustom
を削除し、代わりにbsSwitchPrefix
を使用するようにしました。- フィードバックタイプは、
isValid
とisInvalid
ではなく、feedbackType
で制御されるようになりました。
FormCheckInput
bsCustomPrefix
を削除しました。isStatic
を削除しました。
FormCheckLabel
bsCustomPrefix
を削除しました。- ベースクラスを
form-check-input
からform-check-label
に変更しました。
FormControl
select
タグをサポートするas
プロパティを削除し、代わりにFormSelectを使用するようにしました。custom
を削除しました。bsCustomPrefix
を削除しました。range
値をサポートするtype
のサポートを削除し、代わりにFormRangeを使用するようにしました。- カラーピッカーを追加
FormFile
- ファイル関連のコンポーネントをすべて削除しました。代わりに
<Form.Control type="file" />
を使用してください。
FormGroup
bsPrefix
を削除しました。.form-group
クラスはBootstrapではサポートされなくなりましたが、このコンポーネントはラベルと入力にcontrolId
を渡すのに役立ちます。間隔を処理するには、代わりにマージンユーティリティを使用してください。
FormRow
- 削除されました。代わりに
Row
を使用してください。
InputGroup
InputGroupPrepend
とInputGroupAppend
を削除しました。ボタンとInputGroupText
を直接の子として追加できるようになりました。
Nav
- キーボードナビゲーションが削除されました。これが必要な場合は、代わりに
Tabs
を使用してください。
NavLink
onSelect
を削除しました。代わりに、親のNav
でonSelect
を使用してください。
Popover
- PopoverContentコンポーネントの名前変更に合わせて、
content
プロパティをbody
に名前変更しました。
PopoverContent
- クラス名に合わせてPopoverBodyに名前変更しました。
PopoverTitle
- クラス名に合わせてPopoverHeaderに名前変更しました。
ResponsiveEmbed
- Ratioに名前変更しました。
- aspectRatioオプションが '1x1' | '4x3' | '16x9' | '21x9' に変更されました。
SafeAnchor
- Anchorに名前変更しました。
SplitButton
menuAlign
プロパティを削除し、代わりにalign
を使用するようにしました。
Toast
delay
はデフォルトで5000ミリ秒になりました。
ToggleButton
bsPrefix
を追加しました。id
が必須になりました。これは、Bootstrapのマークアップの変更により、入力の切り替えを可能にするためです。