Solidity
eth未定義反應中的錯誤
在反應應用程序中遇到 eth not defined 錯誤,有人可以幫我解決這個問題嗎?這個應用程序是關於 DApp 的。
在 React 中,如果您使用的是功能組件,我建議您在組件中使用 web3 庫添加一個變數:
const ethRef = useRef<Web3>(null);
在僅在安裝組件時執行的 useEffect 中,使用以下內容更新了 ethRef 引用:
useEffect(() => { if (!window.ethereum) { return; } ethRef.current = new Web3(window.ethereum);}, []);
從那裡,您可以在組件中的任何位置使用 web3 提供程序及其輔助函式和類,如下所示:
const contractInstance = new ethRef.current.eth.Contract(contractABI,contractAddress);
希望這可以幫助。