实际上,我正在“迁移”一个我使用模板的网站项目。当我将引导程序链接放在 index.html 中时,会出现一些冲突。我想将引导程序仅应用于一个组件以避免这种冲突,但我不知道该怎么做。我对react很陌生。
“冲突”只是视觉上的,就像导入引导程序更改了行数和列数一样
实际上,我正在“迁移”一个我使用模板的网站项目。当我将引导程序链接放在 index.html 中时,会出现一些冲突。我想将引导程序仅应用于一个组件以避免这种冲突,但我不知道该怎么做。我对react很陌生。
“冲突”只是视觉上的,就像导入引导程序更改了行数和列数一样
不幸的是,CSS 始终是全局的,因此没有简单的方法可以做到这一点。
然而,一种方法是重新编译 Bootstrap 并将其包装在包装类中。然后,在您的代码中,在包装器组件上设置包装器类,并且只有位于该包装器组件内的类才会受到 Bootstrap 类的影响。
步骤:(你需要 npm 来做到这一点)
@import
像这样添加一个包装器 css 类:.local-bootstrap {
@import "function";
@import "variables";
/* ... */
@import "print";
}
npm install
和npm run css-compile
然后在你的代码中:
<div class="local-bootstrap"> /* wrapper component */
/* inside, the code is affected by your local bootstrap */
<div class="alert alert-primary" role="alert"/>
</div>
/* outside it is not */
<div>
</div>
也就是说,可以肯定的是 bootstrap 的 javascript 部分不会完全工作,因为它依赖于类,无论如何这有点 hacky。
您可以使用reactstrap,将您需要的内容导入到您的组件文件中,而将其他内容置之不理。
例子:
import React from 'react';
import { Button } from 'reactstrap';
export default (props) => {
return (
<Button color="danger">Danger!</Button>
);
};
使用:
import 'bootstrap/dist/css/bootstrap.min.css';
如果您不希望在 app.js 或站点范围内使用 Bootstraps CSS,则可以将 Bootstraps CSS 导入到该特定组件中。