在React Router中,您可以通过useLocation
钩子或withRouter
高阶组件(HOC)来访问查询字符串
使用useLocation钩子:
首先,请确保您安装了react-router-dom
:
npm install react-router-dom
然后,在您的组件中使用useLocation
钩子获取查询字符串:
import React from 'react';
import { useLocation } from 'react-router-dom';
function MyComponent() {
const location = useLocation();
const queryParams = new URLSearchParams(location.search);
const param1 = queryParams.get('param1');
const param2 = queryParams.get('param2');
return (
<div>
<p>Param1: {param1}</p>
<p>Param2: {param2}</p>
</div>
);
}
export default MyComponent;
使用withRouter高阶组件(HOC):
如果您不想使用钩子,可以使用withRouter
高阶组件(HOC)将查询字符串传递给组件:
import React from 'react';
import { withRouter } from 'react-router-dom';
function MyComponent({ location }) {
const queryParams = new URLSearchParams(location.search);
const param1 = queryParams.get('param1');
const param2 = queryParams.get('param2');
return (
<div>
<p>Param1: {param1}</p>
<p>Param2: {param2}</p>
</div>
);
}
export default withRouter(MyComponent);
在这两种方法中,您可以通过URLSearchParams
对象解析查询字符串以获取所需的参数。
领取专属 10元无门槛券
手把手带您无忧上云