考虑以下因素:
const [searchParams, setSearchParams] = useSearchParams();
console.log(searchParams.toString());
console.log(typeof searchParams);
console.log(Object.values(searchParams));
并传递 URL http://localhost:3000/client-data?task=test
这个日志:
task=test
(对象的字符串,可以理解)
object
(我们知道它是对象类型,并且有一些来自先前测试的键值对)
[]
(为什么我们没有从 Object.keys() 等获取任何键/值?)
最佳答案
Why are we not getting any keys / values from Object.keys() etc?
搜索参数的键/值不会作为对象实例的自身属性公开。他们不能是。考虑以下内容
const params = new URLSearchParams("a=1&get=2");
console.log(params.a);
console.log(params.get);
console.log(params.get("a"));
console.log(params.get("get"));
如果 params.a
给你值 "1"
,那么 params.get
也应该给你 "2"
。然而,这意味着它将覆盖 .get()
方法。如果 那 发生了,那么 params.get("a")
将永远无法工作。
https://stackoverflow.com/questions/72910293/