我面临使用查询参数和反应路由器 dom 的问题。
当我执行 API 调用并返回状态 200 时,我将用户重定向到带有 History.push 的结果页面。到目前为止一切正常。但是,当我在结果页面上并刷新页面时,我想使用带有查询参数的 url 来执行新搜索,不幸的是 React Router Dom 无法识别该 url 并重定向我。
应用程序.tsx
<PrivateRoute path="/search?value=:searchValue&type=:searchType">
<Dashboard />
</PrivateRoute>
<Route path="/redirection" component={RedirectionPage} />
<Redirect to="/login" />
Run Code Online (Sandbox Code Playgroud)
搜索.tsx
history.push({
pathname: `/search?${formattedSearch
.map((search) => `value=${search.value}&type=${search.type}`)
.toString()
.replace(",", "|")}`,
state: search
});
Run Code Online (Sandbox Code Playgroud)
这个history.push效果很好,可以将用户重定向到所需的页面。
但是,当我使用相同的 url 刷新页面时,React Router Dom 无法识别该路由,并且不会将我重定向到该组件。
你有什么想法 ?谢谢您并祝您度过愉快的一天。