Так что я все еще нахожусь на ногах с ядром reactjs.net + asp.net. Я импортировал в микс последнюю версию (v1) материала material-ui.com. Я пытаюсь объединить два, но у меня проблемы с составом классов / реквизита.
Приведенный ниже код дословно соответствует тому, что мне сказали, что мне нужно, и что я нашел в результате многочасового поиска в Интернете. Тем не менее, this.props.classes продолжает выдавать ошибки undefined.
Я пропустил какой-то шаг?
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import IconButton from '@material-ui/core/IconButton';
import MenuIcon from '@material-ui/icons/Menu';
const homeStyles = {
root: {
height: 200 ,
flexGrow: 1,
},
grow: {
flexGrow: 1,
},
menuButton: {
marginLeft: -12,
marginRight: 20,
},
};
export class Home extends React.Component {
displayName = Home.name
constructor(props) {
super(props);
console.info("Props: " + props != null);
}
render() {
const { classes } = this.props;
return (
<div>
<div className = {classes.root}>
<AppBar position = "static">
<Toolbar>
<IconButton style = {classes.menuButton} color = "inherit" aria-label = "Menu">
<MenuIcon />
</IconButton>
<Typography variant = "h6" color = "inherit" style = {classes.grow}>Undefined? {(this.props == undefined).toString()}</Typography>
<Button color = "inherit">Login</Button>
</Toolbar>
</AppBar>
</div>
</div>
);
}
}
Home.propTypes = {
classes: PropTypes.object.isRequired
};
export default withStyles(homeStyles)(Home)
const {классы} = this.props; Чтобы использовать {classes.menuButton} this.props необходимо инициализировать. Однако на протяжении всего жизненного цикла this.props не определен.
Привет, @ScottBarnes, я не использовал material-ui, но, глядя на его документ, кажется, что вы правильно используете его стили. Не могли бы вы включить код, использующий Home?





Что конкретно не определено? "props / classes" неточно. Какой конкретно вы импортируете в потребитель этого компонента?