【发布时间】:2018-04-11 05:31:20
【问题描述】:
我有一个使用 Material UI Beta 的应用程序,我尝试如下设置一个简单组件的样式:
import { MuiThemeProvider } from 'material-ui/styles';
const styles = theme => ({
container: {
display: 'flex',
flexWrap: 'wrap',
},
textField: {
marginLeft: 200,
marginRight: theme.spacing.unit,
width: 200,
},
menu: {
width: 200,
},
});
export const CreateJob = (props) => {
const { classes } = props;
let confirmDelete = () => {
const r = window.confirm("Confirm deletion of job");
return r === true;
};
return (
<MuiThemeProvider>
<div>
<form onSubmit={props.isEditting ? props.handleEdit : props.handleSubmit} noValidate autoComplete="off">
<h2>Update job details</h2>
<TextField
error={props.jobIdError !== ''}
helperText={props.jobIdError || "Example: ES10"}
autoFocus
margin="dense"
id="jobId"
label="Job ID"
name="jobid"
fullWidth
onChange={props.handleInputChange('jobId')}
value={props.jobId} />
</form>
</div>
</MultiThemeProvider>
然后我在我的父组件中使用它,如下所示:
<CreateJob open={this.state.open} />
但是,这会产生以下错误:
TypeError:无法读取未定义的属性“类”
【问题讨论】:
-
你的道具是怎么传的?
-
我看到你不需要 classes 道具,你为什么要通过它,或者如何?
-
this.state.open是否包含classes属性?如果没有尝试向它添加一个空对象! -
对不起,我错过了组件末尾的关键行:export default withStyles(styles)(CreateJob);这旨在将样式传递给道具,但会引发上述错误。我从这个例子中得到了方法:material-ui-next.com/demos/text-fields 但没有运气
-
我也遇到了同样的问题,有人找到解决办法了吗?
标签: reactjs material-ui