抓取URL参数以传递给不起作用的函数,但当我在ReactJS中手动创建变量时起作用



我正在测试使用ReactJS发送事务,我是React的新手,所以我试图了解这将如何工作。

我有一个URL参数-

www.mysite.com?value=10

我可以使用-获取该参数

const search = window.location.search;
const params = new URLSearchParams(search);
const value = params.get('value');

如果我控制台记录它,我会得到正确的值-

console.log(value); > 10

但我想通过";值";变量到此页面上的函数-

const sendNewTransaction: RawTransactionType = {
receiver: "{my address}",
data: "Send",
value: value.valueOf(),
gasLimit: 250000000,
chainID: chainId.valueOf(),
gasPrice,
version,

};

如果我只是为值创建一个新的变量,它就可以工作,但在传递URL参数变量时不行。

const value = "10"; > This works
const value = params.get('value'); > This doesnt work

我得到的错误是-

Object is possibly 'null'.  TS2531

所以基本上它是在说没有值,对吧,既然它说的是NULL?它是否与工作值是字符串有关?

这可能不是与您的代码匹配的答案,但我建议您查看

显然你使用的是React,我建议你使用React路由器dom npm包。它简化了与路由相关的一切,您也可以使用以下代码轻松获得URL参数:

import { useParams } from "react-router-dom";
// the component where you need to use the url parameter
function App() {
const { value } = useParams();
useEffect(() => {
console.log("value ", value); <-- will return you param value
}, [value]);
}
// in a router component where you declare your routes
function Router() {
<Route path="/app/:value" exact component={App} />
}

相关内容

  • 没有找到相关文章

最新更新