在这个例子中,我有这个反应类:
class MyDiv extends React.component
constructor(){
this.state={sampleState:'hello world'}
}
render(){
return <div>{this.state.sampleState}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我是否可以添加React钩子.我知道React-Hooks是React Class风格的替代品.但是如果我想慢慢迁移到React钩子,我可以在Classes中添加有用的钩子吗?
useHistory 给出此错误:
无法编译 ./src/pages/UserForm/_UserForm.js 尝试导入错误:“useHistory”未从“react-router-dom”导出。此错误发生在构建期间,无法消除。
react-router-dom 版本:
4.3.1
代码:
import React, { useState, Fragment } from 'react';
import FormUserDetails from './FormUserDetails';
import FormPersonalDetails from './FormPersonalDetails';
import Confirm from './Confirm';
import Success from './Success';
import Button from '@material-ui/core/Button';
import { Grid, makeStyles } from '@material-ui/core';
import { useHistory } from 'react-router-dom';
function UserForm() {
const [step, setStep] = useState(1);
const history = useHistory();
const StepButtons = (props) => (
<React.Fragment>
<Grid item xs={4}>
{props.value !== 'initial' ?
<Button variant="outlined" className={classes.button} onClick={(e) …Run Code Online (Sandbox Code Playgroud)