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

时间:2021-01-12 04:56:12

标签: reactjs react-router-dom

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

1 个答案:

答案 0 :(得分:3)

您要问的不是特定于 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