Why I'm getting this Error: Invalid hook call. Hooks can only be called inside of the body of a function component/
Why I'm getting this Error: Invalid hook call. Hooks can only be called inside of the body of a function component/
错误:挂钩调用无效。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一造成的:
- 您的 React 和渲染器版本可能不匹配(例如 React DOM)
- 您可能违反了 Hooks 规则
- 您可能在同一个应用程序中拥有多个 React 副本
这是我的App.js代码
import './App.css';
import Header from './Header'
function App() {
return (
<div className="app">
< Header />
</div>
);
}
export default App;
Header.js代码
import React from 'react'
import './Header.css';
import PersonIcon from '@material-ui/icons/Person';
import IconButton from '@material-ui/core/IconButton';
function Header() {
return (
<div className='header'>
<IconButton>
<PersonIcon fontSize="large" className="header__icon" />
</IconButton>
</div>
)
}
export default Header
我在index.js
中使用了我的App.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
reportWebVitals();
当我删除 <PersonIcon>
和 <IconButton>
标签时,代码工作正常。
试试这个
npm uninstall @material-ui/core @material-ui/icons
然后
npm i @material-ui/core @material-ui/icons
重启 React 服务器
npm start
// OR
yarn start
如果有效请告诉我,祝你好运
错误:挂钩调用无效。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一造成的:
- 您的 React 和渲染器版本可能不匹配(例如 React DOM)
- 您可能违反了 Hooks 规则
- 您可能在同一个应用程序中拥有多个 React 副本
这是我的App.js代码
import './App.css';
import Header from './Header'
function App() {
return (
<div className="app">
< Header />
</div>
);
}
export default App;
Header.js代码
import React from 'react'
import './Header.css';
import PersonIcon from '@material-ui/icons/Person';
import IconButton from '@material-ui/core/IconButton';
function Header() {
return (
<div className='header'>
<IconButton>
<PersonIcon fontSize="large" className="header__icon" />
</IconButton>
</div>
)
}
export default Header
我在index.js
中使用了我的App.jsimport React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
reportWebVitals();
当我删除 <PersonIcon>
和 <IconButton>
标签时,代码工作正常。
试试这个
npm uninstall @material-ui/core @material-ui/icons
然后
npm i @material-ui/core @material-ui/icons
重启 React 服务器
npm start
// OR
yarn start
如果有效请告诉我,祝你好运