0

错误图片再会!

在使用 Material UI 的 withStyles 钩子为组件添加自定义样式时,你们有没有遇到过这种情况。

这是我的 package.json:

{
  "name": "socialapp-client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^4.11.0",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "axios": "^0.20.0",
    "dayjs": "^1.8.35",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-router-dom": "^5.2.0",
    "react-scripts": "3.4.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "proxy": "<link to my Google firebase API>"
}

这是 App.js 代码

import React, { Component } from "react";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import { Home } from "./pages/home";
import { login } from "./pages/login";
import { signup } from "./pages/signup";
import { Navbar } from "./components/Navbar";
import { ThemeProvider, createMuiTheme } from "@material-ui/core/styles";

import "./App.css";

const theme = createMuiTheme({
  palette: {
    primary: { main: "#29b6f6" },
    secondary: { main: "#ffa726" },
  },
});

class App extends Component {
  render() {
    return (
      <ThemeProvider theme={theme}>
        <div className="App">
          <Router>
            <Navbar></Navbar>
            <div className="container">
              <Switch>
                <Route exact path="/" component={Home} />
                <Route path="/login" component={login} />
                <Route path="/signup" component={signup} />
              </Switch>
            </div>
          </Router>
        </div>
      </ThemeProvider>
    );
  }
}

export default App;

这是登录页面的代码:

import React, { Component } from 'react'
import  withStyles  from '@material-ui/core/styles/withStyles';


const styles = {
    mantra:{
        textAlign: 'center'
    }
}
export class login extends Component {
    
    render() {
        const  { classes } = this.props;
        console.log(classes.mantra)
        return (
            <div>
                <h1>login Page</h1>
            </div>
        )
    }
}

export default withStyles(styles)(login);

根据检查文档,我做的一切都是正确的,但我被错误阻止了

TypeError: Cannot read property 'mantra' of undefined
4

0 回答 0