如何使用 url-parse 包在 React js 中解析 url 中的查询?
How can I parse the query in url in react js using url-parse package?
我想像这样在 React js 中解析 url 中的查询:
const location = useHistory().location;
const parsed = parse(location, true);
console.log(parsed);
但是控制台给了我这个:
host: "localhost:3000"
hostname: "localhost"
href: "http://localhost:3000/[object Object]"
origin: "http://localhost:3000"
password: ""
pathname: "/[object Object]"
port: "3000"
protocol: "http:"
query: {}
slashes: true
我需要的查询对象是空的,但路径名不可用。
如何使用 url-parse 包正确解析 React js 中 url 中的查询?
我认为您使用了错误的反应挂钩。 useHistory
挂钩用于编程导航目的。要访问位置对象,请使用 useLocation
.
import { useLocation } from 'react-router-dom';
const location = useLocation();
const parsed = parse(location.search, true);
使用 query-string 包解决了这个问题。
import queryString from 'query-string';
const location = useHistory().location;
const query = queryString.parse(location.search); // returns the query object
我想像这样在 React js 中解析 url 中的查询:
const location = useHistory().location;
const parsed = parse(location, true);
console.log(parsed);
但是控制台给了我这个:
host: "localhost:3000"
hostname: "localhost"
href: "http://localhost:3000/[object Object]"
origin: "http://localhost:3000"
password: ""
pathname: "/[object Object]"
port: "3000"
protocol: "http:"
query: {}
slashes: true
我需要的查询对象是空的,但路径名不可用。 如何使用 url-parse 包正确解析 React js 中 url 中的查询?
我认为您使用了错误的反应挂钩。 useHistory
挂钩用于编程导航目的。要访问位置对象,请使用 useLocation
.
import { useLocation } from 'react-router-dom';
const location = useLocation();
const parsed = parse(location.search, true);
使用 query-string 包解决了这个问题。
import queryString from 'query-string';
const location = useHistory().location;
const query = queryString.parse(location.search); // returns the query object