material-ui 里面makeStyles的css样式怎么在class组件里面使用?

import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';

const useStyles = makeStyles({
  root: {
    background: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)',
    border: 0,
    borderRadius: 3,
    boxShadow: '0 3px 5px 2px rgba(255, 105, 135, .3)',
    color: 'white',
    height: 48,
    padding: '0 30px',
  },
});

export default function Hook() {
  const classes = useStyles();
  return <Button className={classes.root}>Hook</Button>;
}

上面是官网示例。

官网的例子都是function组件,用const classes = useStyles();

我是class组件如何使用呢?怎么搞把classes传到class组件里面去?

阅读 5.2k
1 个回答

https://material-ui.com/zh/styles/basics/

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

const styles = {
  root: {
    background: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)',
    border: 0,
    borderRadius: 3,
    boxShadow: '0 3px 5px 2px rgba(255, 105, 135, .3)',
    color: 'white',
    height: 48,
    padding: '0 30px'
  }
};

class HigherOrderComponent extends Component {
  render() {
    const { classes } = this.props;
    console.log('classes: ', classes);

    return (
      <>
        <Button className={classes.root}>Higher-order component</Button>
      </>
    );
  }
}

export default withStyles(styles)(HigherOrderComponent);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题