【发布时间】:2015-05-30 18:10:21
【问题描述】:
我有 2 个需要内部样式的 React 组件:
产品列表:
import './list.css';
import React from 'react';
export default class List extends React.Component {
...
}
产品详情:
import './details.css';
import React from 'react';
export default class Details extends React.Component {
...
}
它们有不同的样式,它们相互覆盖,为简单起见,我们假设它是body 上的background-color 属性:
list.css
body {
background-color: #ddd;
}
details.css
body {
background-color: #f80;
}
实际发生的情况 - 当被 webpack 的样式加载器捆绑时,两个元素的样式都保留在页面上:
<style type="text/css">
body {
background-color: #ddd;
}
body {
background-color: #f80;
}
</style>
loader 的 webpack 配置:
...
{
test: /\.css$/,
loader: 'style?singleton!css!cssnext'
}
这意味着详细信息的样式在列表页面上也是有效的。保持它们不同的最佳策略是什么?有没有办法替换样式?
【问题讨论】:
标签: javascript styles reactjs webpack webpack-style-loader