【问题标题】:How to include Bootstrap JavaScript into React如何将 Bootstrap JavaScript 包含到 React 中
【发布时间】:2019-06-10 08:36:12
【问题描述】:

我想在我的网络应用程序中使用引导程序,我已经成功地包含了 css,但我在包括用于显示模式、警报等的引导程序 JavaScript 时遇到了困难。

在我的 package.json 中,我有以下内容:"bootstrap": "^4.2.1", 在 index.js 中我有这样的东西:

import '../node_modules/bootstrap/dist/js/bootstrap.bundle.min';

在我的 html 中,我有以下内容:

<div className="modal fade bd-example-modal-lg" tabIndex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
                    <div className="modal-dialog modal-lg">
                        <div className="modal-content">
                           asdasdasd
                        </div>
                    </div>
                </div>

我得到的错误是:

找不到模块:无法解析“C:\Users\iluli\Desktop\Work\atop\atop\node_modules\bootstrap\dist\js”中的“jquery”

我还能如何在我的 react 应用中包含 bootstrap js。

【问题讨论】:

  • 你还需要包含 jQuery。
  • 如果我选择使用 React 为什么我还需要 jQuery?我可以在没有 jQuery 的情况下使用 react 吗?
  • @Mizlul 你可以在没有 jquery 的情况下使用 react。你不能在没有 jquery 的情况下使用 Bootstrap.js
  • Bootstrap 需要 jQuery。因此,使用 react 或其他任何东西都没有关系。
  • 我明白了,我该如何修复它,只需要像 npm install jquery 这样运行 smth?

标签: javascript html reactjs bootstrap-4


【解决方案1】:

您可以使用包含它的库,例如 reactstrap

除了它会解决你提到的问题之外,使用这样的库而不是直接来自引导程序的代码还有其他优点。 例如,这段代码:

 <Navbar color="light" light expand="md">
      <NavbarBrand href="/">reactstrap</NavbarBrand>
      <NavbarToggler onClick={this.toggle} />
      <Collapse isOpen={this.state.isOpen} navbar>
        <Nav className="ml-auto" navbar>
          <NavItem>
            <NavLink href="/components/">Components</NavLink>
          </NavItem>
          <NavItem>
            <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
          </NavItem>
          <UncontrolledDropdown nav inNavbar>
            <DropdownToggle nav caret>
              Options
            </DropdownToggle>
            <DropdownMenu right>
              <DropdownItem>
                Option 1
              </DropdownItem>
              <DropdownItem>
                Option 2
              </DropdownItem>
              <DropdownItem divider />
              <DropdownItem>
                Reset
              </DropdownItem>
            </DropdownMenu>
          </UncontrolledDropdown>
        </Nav>
      </Collapse>
    </Navbar>

似乎比这段代码更具可读性和“反应方式”:

 <nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Dropdown
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
      </li>
    </ul>
    <form class="form-inline my-2 my-lg-0">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
  </div>
</nav>

你最好使用这个库而不是 react-bootstrap 尽管它很受欢迎,因为它还不支持 v4 并且有 pr 因为这很长时间没有任何消息

【讨论】:

  • 我已经选择了一个库,是否可以包含在当前库中?
  • 你将只包括 react-bootstrap,它将包括所有必要的东西 - bootstrap、jquery 和你需要的所有东西 - 之后你将以通常的方式进行反应,但你会在您的应用中有引导程序
  • 不支持 OP 使用的 Bootstrap v4
猜你喜欢
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2018-06-13
  • 2021-02-23
  • 1970-01-01
相关资源
最近更新 更多