【发布时间】:2019-07-29 14:23:02
【问题描述】:
我是 JavaScript 新手。我没有太多与 JavaScript Object 相关的知识。实际上,我想将 CSS 属性转换为 JavaScript Object 。我为一个运行良好的 css 属性编写代码,但我面临一些逻辑问题。我会给你代码我想在 JavaScript 对象中转换这两个属性。
反应组件
<div className="left-menus">
{menus.map(item => {
return (
<Link to={item.name} name={item.name} key={item.name}
className={this.state.activeMenu === item.name ? 'menu active' : 'menu' }
onClick={() => this.setState({ activeMenu: item.name })}
>
<Icon name={item.icon} size="large"/>
<span>{item.name}</span>
</Link>
)
})}
</div>
JavaScript 对象
leftMenu : {
position: 'fixed',
width: '200px',
paddingRight:' 0 !important',
backgrounColor: '#fff',
height: '100%',
marginTop: '20px',
top: '47px',
fontSize: '12px !important',
borderRight: '2px solid #e8e8ec'
}
App.CSS
.left-menus {
position: fixed;
width: 200px;
padding-right: 0 !important;
background-color: #fff;
height: 100%;
margin-top: 20px;
top: 47px;
font-size: 12px !important;
border-right: 2px solid #e8e8ec; }
.left-menus .menu {
color: #4a4a4a;
width: 100%;
display: block;
cursor: pointer;
text-transform: capitalize !important;
padding: 15px 10px 15px 18px;
}
我为 css 属性创建了对象,名称为 left-menus,但我无法为第二个属性创建逻辑,因为第二个属性实现了 Ist 属性的一些值。有人请帮助我如何完成这项任务。
谢谢
【问题讨论】:
-
您为什么要这样做?您已经有了 CSS,只需将样式表导入您的代码即可。您不能将 CSS 从其父样式应用到组件。
-
请解释“第二个属性实现了第一个属性的一些值”。我没有看到这种情况发生。
-
@SpeedOfRound 不正确,在 React 中你可以将元素的样式作为 javascript 对象传递。
-
作为道具?当然,我猜,但你不应该。
-
@SpeedOfRound 作为标准道具,是的。没有说这是推荐的方式,但它是可能的:p
标签: javascript reactjs ecmascript-6 styled-components