我在我的 React 应用程序的 webpack.config 中启用了 CSS 模块,这样我就可以将 CSS 文件本地限定为单个组件。我也在尝试使用 PrimeReact 中的 TabView组件。当我这样做时,PrimeReact 的主题不会被应用。如果我创建一个单独的项目并且不启用 CSS 模块,则主题将正确应用。
如何使用 PrimeReact 主题并启用 CSS 模块?
我已经测试将位于 Tabs.js 中的内容直接移动到 App.js 并获得相同的结果。
启用 CSS 模块
Webpack.config
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
modules: true,
localIdentName: '[name]__[local]__[hash_base64:5]'
},
},
应用程序.js
import React, { Component } from 'react';
import classes from './App.css';
import Tabs from './UI/Tabs';
class App extends Component {
render() {
return (
<Tabs/>
);
}
}
export default App;
标签.js
import React from 'react';
import {TabView, TabPanel} from 'primereact/components/tabview/TabView';
import classes from 'primereact/resources/primereact.css';
import theme from 'primereact/resources/themes/cupertino/theme.css';
const Tabs = () => (
<TabView>
<TabPanel header="Tab One">
This is content for Tab One.
</TabPanel>
<TabPanel header="Tab Two">
This is content for Tab Two.
</TabPanel>
</TabView>
);
export default Tabs;
启用 CSS 模块(本地组件范围)