reactjs - 使用 withRouter 的 React-Router + React Hooks
问题描述
我开始在我的应用程序中使用 React 钩子,但似乎有一个又一个的障碍要弄清楚。我不确定这是因为学习曲线还是依赖项没有准备好使用这个新实现。任何状况之下..
在钩子之前,我们使用 HOC 连接到特定的 API,无论是 Redux、React-Router 等。就我而言,我想访问我的 React-Router 属性(历史、位置)。
通常它就像文件底部一样简单:
export default withRouter(SomeComponent);
但是现在有了钩子,我不确定如何访问这些数据。
我如何使用新的 React 钩子从 react-router 访问相同类型的数据?
解决方案
根据 Tim Moses 对另一个答案的评论,react-router 现在为此提供了挂钩。示例代码已从React Hooks 文档中提取:
import { useHistory } from "react-router-dom";
function HomeButton() {
let history = useHistory();
function handleClick() {
history.push("/home");
}
return (
<button type="button" onClick={handleClick}>
Go home
</button>
);
}
推荐阅读
- swift - 如何在 SwiftUI 中为路径设置动画
- html - 打印预览表堆叠不好?
- excel - 如何使用 PowerQuery 将 2 个 BIG 表合并为 1 个将现有值相加
- python - conda install python=3.6 不满意的错误
- python - How to optimize 3d-array computation with numpy?
- angular - After Installing @zxing/library in ionic3, There is an error. How Can I solve?
- android - Migration to AndroidX causes hundreds of Jetifier failures
- javascript - Im doing POST method to my API using EXPRESS ROUTER and this does not work
- angularjs - 将 MSAL AngularJS 与 Azure B2C 结合使用时,不会调用 tokenReceivedCallback
- html - Do two sibling elements have to be of the same type for their margins to collapse?