Да, это будет ошибка. Есть (очень хакерские) способы заставить хуки работать с классами, но вам не нужно использовать класс только для того, чтобы иметь состояние. намного проще просто использовать компонент функции, чем пытаться взломать React.
Я изменяю компонент с компонента функции на компонент класса, чтобы использовать this.state. Потому что я хочу получить значения с клавиатуры.
В качестве примера (я предполагаю здесь, потому что я не знаю контекст, и я выделил объект вместо того, чтобы хранить его как одно значение):
const Signin = ({ classes }) => {
const [username, setUsername] = React.useState("kmitlclinic01");
const [password, setPassword] = React.useState("54788");
const [redirectToReferrer, setRedirectToReferrer] = React.useState(false);
const [message, setMessage] = React.useState("kmitlclinic01");
if (redirectToReferrer) return <Redirect to="/routebasic" />;
return (
<div className={classes.root}>
{/* I assume some stuff goes here? */}
</div>
);
}
export default [connect(null, { ActSignin })(Signin),makeStyles(useStyles)(Signin)];