Navbar

Navbar - 图1

  1. import React from 'react';
  2. import {
  3. Collapse,
  4. Navbar,
  5. NavbarToggler,
  6. NavbarBrand,
  7. Nav,
  8. NavItem,
  9. NavLink,
  10. UncontrolledDropdown,
  11. DropdownToggle,
  12. DropdownMenu,
  13. DropdownItem } from 'reactstrap';
  14. export default class Example extends React.Component {
  15. constructor(props) {
  16. super(props);
  17. this.toggle = this.toggle.bind(this);
  18. this.state = {
  19. isOpen: false
  20. };
  21. }
  22. toggle() {
  23. this.setState({
  24. isOpen: !this.state.isOpen
  25. });
  26. }
  27. render() {
  28. return (
  29. <div>
  30. <Navbar color="light" light expand="md">
  31. <NavbarBrand href="/">reactstrap</NavbarBrand>
  32. <NavbarToggler onClick={this.toggle} />
  33. <Collapse isOpen={this.state.isOpen} navbar>
  34. <Nav className="ml-auto" navbar>
  35. <NavItem>
  36. <NavLink href="/components/">Components</NavLink>
  37. </NavItem>
  38. <NavItem>
  39. <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
  40. </NavItem>
  41. <UncontrolledDropdown nav inNavbar>
  42. <DropdownToggle nav caret>
  43. Options
  44. </DropdownToggle>
  45. <DropdownMenu right>
  46. <DropdownItem>
  47. Option 1
  48. </DropdownItem>
  49. <DropdownItem>
  50. Option 2
  51. </DropdownItem>
  52. <DropdownItem divider />
  53. <DropdownItem>
  54. Reset
  55. </DropdownItem>
  56. </DropdownMenu>
  57. </UncontrolledDropdown>
  58. </Nav>
  59. </Collapse>
  60. </Navbar>
  61. </div>
  62. );
  63. }
  64. }

Navbar Properties

See also Navs for additional components and PropTypes.

  1. Navbar.propTypes = {
  2. light: PropTypes.bool,
  3. dark: PropTypes.bool,
  4. fixed: PropTypes.string,
  5. color: PropTypes.string,
  6. role: PropTypes.string,
  7. expand: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
  8. tag: PropTypes.oneOfType([PropTypes.func, PropTypes.string])
  9. // pass in custom element to use
  10. }

NavbarBrand Properties

  1. NavbarBrand.propTypes = {
  2. tag: PropTypes.oneOfType([PropTypes.func, PropTypes.string])
  3. // pass in custom element to use
  4. }

NavbarToggler

Place the NavbarToggler after NavbarBrand to have it appear on the right (typical setup). Reverse the order to have it appear on the left

Navbar - 图2

  1. import React from 'react';
  2. import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav, NavItem, NavLink } from 'reactstrap';
  3. export default class Example extends React.Component {
  4. constructor(props) {
  5. super(props);
  6. this.toggleNavbar = this.toggleNavbar.bind(this);
  7. this.state = {
  8. collapsed: true
  9. };
  10. }
  11. toggleNavbar() {
  12. this.setState({
  13. collapsed: !this.state.collapsed
  14. });
  15. }
  16. render() {
  17. return (
  18. <div>
  19. <Navbar color="faded" light>
  20. <NavbarBrand href="/" className="mr-auto">reactstrap</NavbarBrand>
  21. <NavbarToggler onClick={this.toggleNavbar} className="mr-2" />
  22. <Collapse isOpen={!this.state.collapsed} navbar>
  23. <Nav navbar>
  24. <NavItem>
  25. <NavLink href="/components/">Components</NavLink>
  26. </NavItem>
  27. <NavItem>
  28. <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
  29. </NavItem>
  30. </Nav>
  31. </Collapse>
  32. </Navbar>
  33. </div>
  34. );
  35. }
  36. }

NavbarToggler Properties

  1. NavbarToggler.propTypes = {
  2. type: PropTypes.string,
  3. tag: PropTypes.oneOfType([PropTypes.func, PropTypes.string])
  4. // pass in custom element to use
  5. }