简体   繁体   English

Bootstrap Accordion 在 React 中无法正常工作

[英]Bootstrap Accordion not working properly in React

So I copy pasted the exact same code for Accordion from Bootstrap, but the style is completely different, and it doesn't function.所以我从 Bootstrap 复制粘贴了完全相同的 Accordion 代码,但风格完全不同,而且它不起作用。

The code of About.js: About.js 的代码:

import React, { useState } from 'react'

export default function About() {

  return (
    <div class="accordion" id="accordionExample">
        <div class="accordion-item">
            <h2 class="accordion-header" id="headingOne">
            <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                Accordion Item #1
            </button>
            </h2>
            <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
            <div class="accordion-body">
                <strong>This is the first item's accordion body.</strong> It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
            </div>
            </div>
        </div>
        <div class="accordion-item">
            <h2 class="accordion-header" id="headingTwo">
            <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                Accordion Item #2
            </button>
            </h2>
            <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
            <div class="accordion-body">
                <strong>This is the second item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
            </div>
            </div>
        </div>
        <div class="accordion-item">
            <h2 class="accordion-header" id="headingThree">
            <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                Accordion Item #3
            </button>
            </h2>
            <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionExample">
            <div class="accordion-body">
                <strong>This is the third item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
            </div>
            </div>
        </div>
    </div>
  )

} }

The code of App.js: App.js 的代码:

import About from './components/About';

function App() {
  return (
    <>
    <div className="container my-3">
      <About/>
    </div>
    </>
    )
}

export default App;

How it's supposed to look like: The bootstrap accordion它应该是什么样子:引导手风琴

How it actually looks: The accordion on my React App它的实际外观:我的 React 应用程序上的手风琴

And I don't think there are any typos in importing it or in using it anywhere else.而且我认为在导入它或在其他任何地方使用它时没有任何拼写错误。 I also made sure to include the Bootstrap CSS link.我还确保包含 Bootstrap CSS 链接。

{/* The following line can be included in your src/index.js or App.js file*/}

import 'bootstrap/dist/css/bootstrap.min.css';

I think you are not using it the right way, you should read the docs for React Bootstrap, you're not supposed to copy everything with classnames and such, there are components that you can use that will do that for you, here's the example: react-bootstrap.github.io/components/accordion我认为你没有以正确的方式使用它,你应该阅读 React Bootstrap 的文档,你不应该复制所有带有类名的东西,你可以使用一些组件来为你做到这一点,这里是示例:react-bootstrap.github.io/components/accordion

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM