Prompt:提供一个用户离开页面时的提示选择。
import { Prompt } from 'umi';
export default () => {
return (
<div>
{/* 用户离开页面时提示一个选择 */}
<Prompt message="你确定要离开么?" />
{/* 用户要跳转到首页时,提示一个选择 */}
<Prompt
message={(location) => {
return location.pathname !== '/' ? true : `您确定要跳转到首页么?`;
}}
/>
{/* 根据一个状态来确定用户离开页面时是否给一个提示选择 */}
<Prompt when={formIsHalfFilledOut} message="您确定半途而废么?" />
</div>
);
};
useHistory:hooks,获取 history
对象
useLocation:hooks,获取 location
对象
useParams:hooks,获取 params
对象。 params
对象为动态路由(例如:/users/:id
)里的参数键值对。
useRouteMatch:获取当前路由的匹配信息。
import { useHistory,useLocation,useParams,useRouteMatch } from 'umi';
export default () => {
const history = useHistory();
const location = useLocation();
const params = useParams();
const match = useRouteMatch();
return (
<div>
<ul>
<li>history: {history.action}</li>
<li>location: {location.pathname}</li>
<li>params: {JSON.stringify(params)}</li>
<li>match: {JSON.stringify(match.params)}</li>
</ul>
</div>
);
};