我正在考虑在我的项目中使用React-Bootstrap-Table模块。我想将它包装在一个名为 Table 的 React 组件中,该组件将简单地公开 react-bootstrap-module,但还会引入默认样式表和自定义样式表。包装器组件将存在于一个通用的 UI-Kit 中,因此以这种方式封装它将更容易在其他项目中使用,并防止与 css 等不一致。
在名为 Table 的文件夹中,我有以下 @richsilv 建议
index.js
import Table from './Table'
export default Table
表.js
import * as ReactBootstrapTable from 'react-bootstrap-table'
import 'react-bootstrap-table/dist/react-bootstrap-table-all.min.css'
import './TableStyles.scss'
export default ReactBootstrapTable
然后我试图将它导入到另一个组件中......
import { BootstrapTable, TableHeaderColumn } from '../Table'
这给了我以下错误
Invariant Violation: Element type is invalid: expected a string (for
built-in components) or a class/function (for composite components) but
got: undefined. You likely forgot to export your component from the
file it's defined in. Check the render method of `ExportCSVTable`.
ExportCSVTable 是我试图将 Table 导入的组件。
奇怪的是,如果我这样做
import Table from '../Table'
表格将毫无问题地呈现。唯一的问题是它无法进行 linting,因为 Table 已定义但从未使用过,并且任何引导表组件都已使用但从未定义过。另外,我不能像往常那样解构 Table,这很烦人!
希望这是对我包装模块的方式的简单改变,但任何帮助都会得到很大的帮助。
更新
实施@richsilv 建议后引发错误