makeStyles()
ライフサイクルメソッドを持つコンポーネントで使用しようとすると、次のエラーが発生します。
無効なフック呼び出し。フックは、関数コンポーネントの本体の内部でのみ呼び出すことができます。これは、次のいずれかの理由で発生する可能性があります。
- Reactとレンダラー(React DOMなど)のバージョンが一致していない可能性があります
- あなたはフックのルールを破っているかもしれません
- 同じアプリにReactのコピーが複数ある可能性があります
以下は、このエラーを生成するコードの小さな例です。他の例では、子アイテムにもクラスを割り当てています。MUIのドキュメントには、他の使用方法を示しmakeStyles
、ライフサイクルメソッドを使用する機能があるものは何も見つかりません。
import React, { Component } from 'react';
import { Redirect } from 'react-router-dom';
import { Container, makeStyles } from '@material-ui/core';
import LogoButtonCard from '../molecules/Cards/LogoButtonCard';
const useStyles = makeStyles(theme => ({
root: {
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
},
}));
const classes = useStyles();
class Welcome extends Component {
render() {
if (this.props.auth.isAuthenticated()) {
return <Redirect to="/" />;
}
return (
<Container maxWidth={false} className={classes.root}>
<LogoButtonCard
buttonText="Enter"
headerText="Welcome to PlatformX"
buttonAction={this.props.auth.login}
/>
</Container>
);
}
}
export default Welcome;
invalid hook call
エラーで輪になって走り回っています-正しい方向に私を導いてくれてありがとう!!