withRouter 与 react-router-dom 挂钩(useHistory、useLocation、useMatch)

Dan*_*nny 5 reactjs react-router-dom

有时我使用 withRouter 来包装我的组件并使用history, locationfrom props,有时我使用useHistory(), useLocation()。不知道这两种使用方式的优缺点。

Tag*_*ari 6

您所问的问题并不特定于react-router-dom,您所问的是在 React 中使用之间的差异HOC pattern vs using hooks,简而言之,就是项目中这些值之间的决定:

  • 可读性
  • 可重复使用性
  • 定制和使用
  • 调试
  • 可测试性
  • 表现

您可以通过以下链接了解更多信息:

https://medium.com/simply/comparison-hocs-vs-render-props-vs-hooks-55f9ffcd5dc6

https://www.robinwieruch.de/react-hooks-higher-order-components

https://medium.com/javascript-scene/do-react-hooks-replace-higher-order-components-hocs-7ae4a08b7b58#:~:text=For%20broadly%2Dused%20cross%2Dcutting,UI%20code%20in %20your%20app。