面试题答案
一键面试- 引入相关模块:
在需要实现重定向的组件文件中,引入
Redirect
组件和useState
钩子(用于控制重定向状态)。假设使用 React Router,代码如下:
import React, { useState } from'react';
import { Redirect } from'react-router-dom';
- 编写组件并实现逻辑:
const MyComponent = () => {
const [shouldRedirect, setShouldRedirect] = useState(false);
const handleButtonClick = () => {
setShouldRedirect(true);
};
if (shouldRedirect) {
return <Redirect to="/home" />;
}
return (
<div>
<button onClick={handleButtonClick}>点击重定向</button>
</div>
);
};
export default MyComponent;
关键代码说明:
const [shouldRedirect, setShouldRedirect] = useState(false);
:定义一个状态shouldRedirect
用于判断是否需要重定向,初始值为false
。const handleButtonClick = () => { setShouldRedirect(true); };
:按钮点击事件处理函数,点击按钮时将shouldRedirect
设置为true
。if (shouldRedirect) { return <Redirect to="/home" />; }
:当shouldRedirect
为true
时,返回Redirect
组件,实现重定向到/home
页面。