reactjs - react 引导 Accordion 错误 : Element type is invalid: expected a string (for built-in components) or a class/function (for composite components)

标签 reactjs bootstrap-4 react-bootstrap

我正在努力处理我的第一个引导代码。
我想使用来自 here 的 react-bootstrap 代码添加一个 Accordion .
我想我也已经导入了正确的库。
但我仍然有这个错误:
“错误:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义。您可能忘记从定义的文件中导出组件,或者您可能混淆了默认导入和命名导入。”
如果有人可以帮忙,这是我的代码,非常感谢^^
雨果

import React, { Component } from "react";
import { Accordion } from 'react-bootstrap';
import Card from "react-bootstrap/Card";
import "bootstrap/dist/css/bootstrap.min.css";

export class Maturite extends Component {
  render() {
      return (
        <div>
                  <div style={{marginTop: '150px'}}></div>

                  {/* This is the 1st method from react bootstrap for an Accordion which is NOT working for me  */}
                  <Accordion>
                    <Accordion.Item eventKey="0">
                        <Accordion.Header>Accordion Item #1</Accordion.Header>
                        <Accordion.Body>
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
                        </Accordion.Body>
                    </Accordion.Item>
                    </Accordion>

                    {/* This is a 2nd method for an Accordion which is working for me  */}
                    <Accordion>
                      <Card>
                          <Accordion.Toggle as={Card.Header} eventKey="0">
                              TAB 1
                          </Accordion.Toggle>

                          <Accordion.Collapse eventKey="0">
                              <Card.Body>This is first tab body</Card.Body>
                          </Accordion.Collapse>
                      </Card>

                      <Card>
                          <Accordion.Toggle as={Card.Header} eventKey="1">
                              TAB 2
                          </Accordion.Toggle>

                          <Accordion.Collapse eventKey="1">
                              <Card.Body>This is second tab body</Card.Body>
                          </Accordion.Collapse>
                      </Card>
                  </Accordion>
              </div>
      );
  }
}

export default Maturite;

import React, { Component } from "react";
import { Accordion } from 'react-bootstrap';
import Card from "react-bootstrap/Card";
import "bootstrap/dist/css/bootstrap.min.css";

export class Maturite extends Component {
  render() {
      return (
        <div>
                  <div style={{marginTop: '150px'}}></div>

                  {/* This is the 1st method from react bootstrap for an Accordion which is NOT working for me  */}
                  <Accordion>
                    <Accordion.Item eventKey="0">
                        <Accordion.Header>Accordion Item #1</Accordion.Header>
                        <Accordion.Body>
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
                        </Accordion.Body>
                    </Accordion.Item>
                    </Accordion>

                    {/* This is a 2nd method for an Accordion which is working for me  */}
                    <Accordion>
                      <Card>
                          <Accordion.Toggle as={Card.Header} eventKey="0">
                              TAB 1
                          </Accordion.Toggle>

                          <Accordion.Collapse eventKey="0">
                              <Card.Body>This is first tab body</Card.Body>
                          </Accordion.Collapse>
                      </Card>

                      <Card>
                          <Accordion.Toggle as={Card.Header} eventKey="1">
                              TAB 2
                          </Accordion.Toggle>

                          <Accordion.Collapse eventKey="1">
                              <Card.Body>This is second tab body</Card.Body>
                          </Accordion.Collapse>
                      </Card>
                  </Accordion>
              </div>
      );
  }
}

export default Maturite;

最佳答案

您要导入什么版本的 Bootstrap?
您使用的组件的布局不起作用(使用 Accordion.Header/.Body)适用于 bootstrap 的最新测试版( Bootstrap 5.0/v2.0.0-beta.4 )。如果您使用的是 Bootstrap 4.0 (v1.6.1),则该组件具有不同的格式,使用 Cards(适合您的类型)。

关于reactjs - react 引导 Accordion 错误 : Element type is invalid: expected a string (for built-in components) or a class/function (for composite components),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68447393/

相关文章:

html - 如何在容器 Bootstrap 4 中居中标签

javascript - Onclick 功能不适用于引导模式

javascript - Reactjs:将侧边栏组件导入到不同的页面

reactjs - API 请求的 redux 传奇有意义吗?

reactjs - 使用浅错误进行 enzyme 基本测试,错误为 'Target is not a DOM element'

javascript - 在 github 页面上进行 React 工作

reactjs - 仅从 Bootstrap 导入网格系统以进行 react

javascript - 从多个子组件的 componentDidMount() 同步更新父组件状态

javascript - 如何在选择选项下拉列表中添加输入文本

javascript - 带有图标的 React-bootstrap 按钮