我正在使用一個類在 React 中做一個注冊表單,我想在注冊表正確時將用戶發送到另一個頁面,問題是我沒有找到任何功能性的方法來制作它。
.then(data => {
if(data.error != null) {
console.log("Error => " data.error);
} else {
//Send the user to the login page
}
})
這是我將他發送到登錄頁面的部分,我已經用“useNavigation”等證明了這一點,但我找不到正確的方法來獲取它。
uj5u.com熱心網友回復:
由于 react-router-dom v6 僅支持 hooks。為了在基于類的組件中實作導航功能,您必須創建一個 HOC 并將鉤子作為道具傳遞。
// withRouter.js
import { useNavigate } from 'react-router-dom';
export const withRouter = (Component) => {
const Wrapper = (props) => {
const navigate = useNavigate();
// any other hooks can be added and passed on
return (
<Component
navigate={navigate}
{...props}
/>
);
};
return Wrapper;
};
然后在您的 RegisterForm.jsx 上,您可以
import {withRouter} from './withRouter';
class RegisterForm extends React.Component{
//...
yourFunction =() =>{
.then(data => {
if(data.error != null) {
console.log("Error => " data.error);
} else {
//Send the user to the login page
this.props.navigate('/loginPage');
}
})
}
//...
}
export default withRouter(RegisterForm);
(https://github.com/remix-run/react-router/issues/7256)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/433043.html
標籤:javascript 反应 班级
