1 回答
TA贡献1848条经验 获得超10个赞
这通常通过在 CSS 中使用后代组合器来解决。您需要在每个组件的根元素中设置一个不同的类,并通过将它们的选择器编写为该类的后代来声明所有其他 CSS 样式。
登录.js
import React from 'react'
export default class Login extends React.Component {
componentWillMount(){
import ('./styles/login_page.css');
}
....
<Link class="login-component" to="/register">Create account</Link>
}
登录页面.css
.login-component .item1 { ... }
.login-component .item2 { ... }
注册.js
import React from 'react''
export default class Register extends React.Component {
componentWillMount(){
import ('./styles/register_page.css');
}
....
<Link class="register-component" to="/login">Login Now</Link>
}
注册页面.css
.register-component .item1 { ... }
.register-component .item2 { ... }
因此,即使两个组件都有匹配.item1和 的元素.item2,由于后代组合器,它们也会选择正确的规则。对于原始 CSS,这可能有点冗长,但如果您使用任何预处理器,它应该非常简单。
否则,您可能只想以某种方式使选择器不同。
添加回答
举报