Компонент навигационной панели не отображает react-bootstrap CSS

#reactjs #npm #react-bootstrap

#reactjs #npm #react-bootstrap

Вопрос:

Я отрисовываю панель навигации react-bootstrap, но я просто получаю беспорядочный текст ни с одним из стилей начальной загрузки.

У меня есть тег CDN bootstrap. Я установил react-bootstrap в проект с помощью npm. Я также убедился, что не использую тег Bootstrap 4, поскольку home сказал, что он не работает с react-bootstrap, в который я добавил следующие строки index.html как указано здесь https://react-bootstrap.github.io/getting-started/introduction /.

 <script src="https://unpkg.com/react/umd/react.production.js" crossorigin />

<script
  src="https://unpkg.com/react-dom/umd/react-dom.production.js"
  crossorigin
/>

<script
  src="https://unpkg.com/react-bootstrap@next/dist/react-bootstrap.min.js"
  crossorigin
/>

<script>var Alert = ReactBootstrap.Alert;</script>
  

Я также перепробовал все опубликованные решения этой проблемы, которые смог найти. Я не уверен, что я здесь делаю не так…

Index.html (Очевидно, только теги скрипта)

     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="https://unpkg.com/react/umd/react.production.js" crossorigin />
    <script
      src="https://unpkg.com/react-dom/umd/react-dom.production.js"
      crossorigin
    ></script>

    <script
      src="https://unpkg.com/react-bootstrap@next/dist/react-bootstrap.min.js"
      crossorigin
    ></script>

    <script>var Alert = ReactBootstrap.Alert;</script>

  

Index.js

 import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';

ReactDOM.render(<App />, document.getElementById('root'));

serviceWorker.unregister();

  

App.js

 import React from 'react';
import Navbar from 'react-bootstrap/Navbar'
import Nav from 'react-bootstrap/Nav'
import NavDropdown from 'react-bootstrap/NavDropdown'
import logo from './logo.svg';
import './App.css';

function App() {
  return (
    <div className="App">
    <Navbar collapseOnSelect expand="lg" bg="dark" variant="dark">
      <Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
      <Navbar.Toggle aria-controls="responsive-navbar-nav" />
      <Navbar.Collapse id="responsive-navbar-nav">
        <Nav className="mr-auto">
          <Nav.Link href="#features">Features</Nav.Link>
          <Nav.Link href="#pricing">Pricing</Nav.Link>
          <NavDropdown title="Dropdown" id="collasible-nav-dropdown">
            <NavDropdown.Item href="#action/3.1">Action</NavDropdown.Item>
            <NavDropdown.Item href="#action/3.2">Another action</NavDropdown.Item>
            <NavDropdown.Item href="#action/3.3">Something</NavDropdown.Item>
            <NavDropdown.Divider />
            <NavDropdown.Item href="#action/3.4">Separated link</NavDropdown.Item>
          </NavDropdown>
        </Nav>
        <Nav>
          <Nav.Link href="#deets">More deets</Nav.Link>
          <Nav.Link eventKey={2} href="#memes">
            Dank memes
          </Nav.Link>
        </Nav>
      </Navbar.Collapse>
    </Navbar>;
    </div>
  );
}

export default App;

  

Комментарии:

1. Можете ли вы опубликовать весь свой index.html файл? Похоже, у вас отсутствует div с идентификатором ‘root’.

Ответ №1:

Вы используете неправильную версию bootstrap (3.3.7) в вашем index.html файле. Вам нужно использовать (4.3.1):

 <link
  rel="stylesheet"
  href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
  integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
  crossorigin="anonymous"
/>
  

Я смог неправильно воспроизвести его с помощью 3.3.7 изображение
И воспроизвести то, что выглядит как правильный способ, используя (4.3.1): изображение

Комментарии:

1. Спасибо. Должно быть, я прочитал устаревший совет относительно «не используйте bootstrap 4 с react-bootstrap».