reactjs - react-router-dom - 如何使用查询参数作为路径?
问题描述
我目前遇到 URL 问题,包括查询参数命中 404 错误页面。我需要查询参数,因为此 URL 是来自第 3 方应用程序的重定向。
我的路由器交换机:
export default function App() {
return (
<React.Suspense fallback={<span>Loading...</span>}>
<Router>
<ReactNotification />
<React.StrictMode>
<Switch>
<Route exact path="/" component={Home} />
{singleRouting.map((route, i) => (
<RouteWithSubRoutes key={i} {...route} />
))}
<Route path="*">
<Error />
</Route>
</Switch>
</React.StrictMode>
</Router>
</React.Suspense>
);
}
const RouteWithSubRoutes = (route) => {
return (
<Route
exact={route.exact || undefined}
path={route.path}
render={(props) => (
// pass the sub-routes down to keep nesting
<route.component {...props} />
)}
/>
);
}
我的路线:
import FinanceBody from '../main/finance/FinanceBody';
const singleRouting = [{
path: "/finance?:applicationId&:status&:supplierOrderReference",
exact: true,
component: FinanceBody
}];
export { singleRouting };
解决方案
经过不断的跟踪和错误,我发现答案非常基础。
上一条路径:
path: "/finance?:applicationId&:status&:supplierOrderReference"
更新路径:
path: "/finance"
您可以正常访问查询参数location.search
推荐阅读
- c# - 使用 NuGet 依赖项引用 DLL
- javascript - 使用对象方法时如何获取触发事件的源元素
- r - 总结多个变量的数据框
- html - 如何解决此错误'祖先违反以下内容安全策略指令:“框架祖先'无''
- java - Spring Redisson 哨兵错误 - 至少需要两个哨兵
- swift - 在模拟器中工作,但不在真实设备上工作 swift xcode alamofire
- mysql - HTTP 状态 500 – 内部服务器错误 -jsp-tomcat - (Dockerfile)
- node.js - request.on(可读)在nodejs中为单个请求调用了两次
- url-shortener - 有没有办法获取 bit.ly 的真实地址?
- spring - 将 Spring 应用程序移植到 Spring Boot