Tôi gặp lỗi dưới đây bất cứ khi nào tôi cố gắng sử dụng makeStyles()
với một thành phần có các phương thức vòng đời:
Cuộc gọi hook không hợp lệ. Hook chỉ có thể được gọi bên trong phần thân của một thành phần hàm. Điều này có thể xảy ra vì một trong những lý do sau:
- Bạn có thể có các phiên bản React và trình kết xuất không khớp (chẳng hạn như React DOM)
- Bạn có thể đang vi phạm Quy tắc của Hooks
- Bạn có thể có nhiều hơn một bản sao của React trong cùng một ứng dụng
Dưới đây là một ví dụ nhỏ về mã tạo ra lỗi này. Các ví dụ khác cũng chỉ định các lớp cho các mục con. Tôi không thể tìm thấy bất kỳ điều gì trong tài liệu của MUI cho thấy các cách khác để sử dụng makeStyles
và khả năng sử dụng các phương pháp vòng đời.
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
lỗi - Cảm ơn vì đã đưa tôi đi đúng hướng !!