【发布时间】:2021-08-24 21:05:07
【问题描述】:
我是新手,我正在尝试使用 makestyles,这就是:
在 Header.jsx 中:
import React from "react";
import UseStyles from "./Header_style";
function Header() {
const classes =UseStyles();
return (
<div className={"Main-Header"}>
<div className={"Header-Logo"}>
<div className={classes.test}>test</div>
</div>
</div>
);
};
export default Header;
和 style.js :
import {makeStyles} from '@material-ui/styles';
const UseStyles = makeStyles(theme=>({
test: {
backgroundColor: '#BDC3C7',
color :'red !important',
widtH : '18%'
},
}));
export default UseStyles;
但我收到以下错误: ×
Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
*编辑: 这就是我使用 Header 的方式:
import React, { Component } from 'react'
import Header from './component/heder/Header.jsx';
class App extends Component {
constructor() {
super();
this.state = {
monsters: [],
searchField: ''
};
}
render() {
return (
<Header/>
);
}
}
export default App;
【问题讨论】:
-
1) 你如何使用
Header? 2)hooks should be named like "useMyHook",所以你应该使用小写的“u”并将其设为useStyles。 -
我试过 useStyles 。没有任何变化。
-
错误为无效的钩子调用提供了 3 个原因。您是否已通过它们并确认您没有违反这些规则?如果是这样,请包括您为验证所采取的步骤。就像我之前提到的,请说明你是如何使用
Header.
标签: reactjs material-ui jsx