有时我使用withRouter包装我的组件,并使用props
中的history
、location
,有时我使用useHistory()
、useLocation()
。我不知道这两种使用方式的优缺点。
您所问的并不是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=对于%20wide%2Used%20cross%2Cutting,UI%20code%20in%20your%20app。