useLocation和useHistory是React Router中的两个钩子,用于处理路由相关的操作。
useLocation
useLocation钩子返回当前的location对象。location对象描述了应用程序当前的URL。
useLocation主要用于获取和使用当前的URL信息。
useLocation相关的属性:
pathname:当前URL的路径部分(如/about)search:URL的查询字符串(如?name=John)hash:URL的哈希片段(如#section1)state:用于存储与该位置关联的状态对象(通过导航时可以传递)。
useHistory
useHistory钩子返回历史对象,它提供了一些方法用于导航和控制浏览历史。
useHistory主要用于编程式导航。
useHistory相关的属性:
push(path,state):推送一个新的入口到历史堆栈,导航到一个新的URL。replace(path,state):替换历史堆栈中的当前条目,导航到一个新的URL,但不会创建的历史记录。go(n):在历史堆栈中前进或后退n步。goBack():相当于go(-1),后退一步。goForward():相当于go(1),前进一步。