首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web3-反应错误: Web3ReactProvider未调用getLibrary函数

Web3-反应错误: Web3ReactProvider未调用getLibrary函数
EN

Stack Overflow用户
提问于 2022-03-22 16:57:33
回答 1查看 1.8K关注 0票数 4

我有这个问题在一个简单的反应应用程序。我试图使用" connect“按钮连接元问询,但是当我单击该按钮时,控制台会显示一个错误,上面写着”错误:不变失败: No found“。

正如您所看到的,我向getLibrary函数添加了一个控制台,它不是日志记录,因此,该函数永远不会被调用。

代码语言:javascript
复制
import "./App.css";
import React from "react";
import { Web3ReactProvider, useWeb3React } from "@web3-react/core";
import { Web3Provider } from "@ethersproject/providers";
import { InjectedConnector } from "@web3-react/injected-connector";

const injected = new InjectedConnector({
  supportedChainIds: [1, 3, 4, 5, 42],
});

function getLibrary(provider) {
  console.log("getting library") 
  const library = new Web3Provider(provider)
  library.pollingInterval = 12000
  return library
}

const App = () => {
  const { active, account, library, connector, activate, deactivate } =
    useWeb3React();

  async function connect() {
    console.log("connecting");
    try {
      await activate(injected);
    } catch (ex) {
      console.log(ex);
    }
  }

  async function disconnect() {
    try {
      deactivate();
    } catch (ex) {
      console.log(ex);
    }
  }

  return (
    <Web3ReactProvider getLibrary={getLibrary}>
      <div className="App">
        {!active ? <button onClick={connect}>Connect</button> : <button onClick={connect}>Disconnect</button>}
      </div>
     </Web3ReactProvider>
 );
}
EN

回答 1

Stack Overflow用户

发布于 2022-05-25 15:18:05

这里的问题是,您试图在定义上下文提供程序的同一个组件中调用use钩子。将提供程序移到更高的级别,进入调用App的组件,或者将钩子和剩余逻辑--低一级--移动到新组件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71576005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档