我有一个标头,我正在整个应用范围内使用。它有一个日期选择器。当用户选择一个日期时,我想将?date=foo
推送到URL,以便在刷新页面(或添加书签或共享链接)时,页面将应用从URL中选择的日期。
使用导出的useLocation
钩子解析查询参数并访问search
参数对于解析非常有效。但是,如果我想将值推送到URL,似乎我的选择是使用useHistory
钩子和.push
或.replace
,这两者都会导致重新渲染。
我曾考虑过使用window.history.pushState
,但担心在路由器的历史记录对象之外进行工作会给您带来严重的后果。
我似乎找不到实现此目的的正确方法。