[React Bootstrap] Navbar を表示してみる | 心を無にして始める React
今回は、Navbar コンポーネントを表示します。
準備
まだ components フォルダがなければ作ります。
src
を右クリックして New Folder
。
components と入力してフォルダを作ります。
今回は、components フォルダに Navbar のコンポーネントを作って、表示してみます。
公式のドキュメントはここ。
https://react-bootstrap.netlify.app/components/navbar/
Navbar コンポーネントをつくる
component フォルダに Navbar.js
を作ります。
Navbar.js
を心を無にして編集してみます。
import React from 'react';
import { Navbar as BootstrapNavbar } from 'react-bootstrap';
import NavbarBrand from './NavbarBrand';
function Navbar(props) {
const {
children,
...otherProps
} = props;
return (
<BootstrapNavbar {...otherProps}>
{children}
</BootstrapNavbar>
);
}
export default Object.assign(Navbar, {
Brand: NavbarBrand,
});
NavbarBrand.js
も続けて作ります。
import React from 'react';
import { Navbar as BootstrapNavbar } from 'react-bootstrap';
function NavbarBrand(props) {
const {
id,
children,
...otherProps
} = props;
return (
<BootstrapNavbar.Brand id={id} {...otherProps}>
{children}
</BootstrapNavbar.Brand>
);
}
export default NavbarBrand;
プロジェクトでは、コンポーネントを統一したデザインで利用することが多いです。
そのため、(React Bootstrap のコンポーネントをその場その場でカスタマイズしながら使うよりも、)プロジェクトでコンポーネントにしたものを使うほうが、変更をお手軽に漏れなくできることが多いです。
Navbar コンポーネントを表示する
それでは、 App.js
を編集して Navbar コンポーネントを表示します。
import React from 'react';
import './App.css';
import Nav from './components/Nav';
import Navbar from './components/Navbar';
function App() {
return (
<Navbar className="px-5" bg="primary" variant="dark">
<Navbar.Brand href="#home">Navbar</Navbar.Brand>
<Nav className="me-auto">
<Nav.Link href="#home">Home</Nav.Link>
<Nav.Link href="#features">Features</Nav.Link>
<Nav.Link href="#pricing">Pricing</Nav.Link>
</Nav>
</Navbar>
);
}
export default App;
画面を確認してみます。
はい、できました。