我正在测试使用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} />
}