【发布时间】:2018-07-29 05:28:01
【问题描述】:
我继承了一些代码并一直在对其进行操作,但我遇到了一些让我摸不着头脑的东西。
我不确定我遇到的问题是与 react.js 相关还是更普遍地与 CSS / javascript 相关...
在这段代码中,我们使用了 react.js withStyles。
我已经设置了sandbox来演示。
文件中的第一件事,我们定义了一些可以应用于页面元素的样式,例如
const styles = theme => ({
buttonGroup: {
width: "250px",
display: "flex",
flexWrap: "wrap",
}, ...
然后,当我们定义一个类时,我们可以通过 const { classes } = this.props 访问这些样式,例如
class MyButtons extends React.Component {
render() {
const { classes } = this.props;
return (
<div className={classes.buttonGroup}>
{three_buttons.map(e => (
<Button className={classes.a_button}>{e}</Button>
))}
</div>
);
}
}
这一切都很好并且有效。 我尝试的是在同一个文件中定义第二个类,然后我从第一个类中调用它(在组件中创建组件)。
但是,const { classes } = this.props 似乎无法让我访问顶部定义的样式,当我尝试在第二类中设置 className={classes.buttonGroup} 时,我收到错误
TypeError: read property 'buttonGroup' of undefined
我很确定我可以通过像往常一样在单独的文件中定义第二个类来克服这个问题,但我想了解为什么这不起作用。
【问题讨论】:
标签: javascript css reactjs react-with-styles