出现错误:TypeError:无法读取React +松露DApp中未定义的属性'getId'

时间:2019-05-16 12:43:04

标签: reactjs solidity truffle web3js decentralized-applications

我的Ganche-GUI和metamask正在运行。但我收到以下错误 在控制台中

TypeError:无法读取未定义的属性“ getId”     在App.componentDidMount(App.js:17)

以下是我在App.js代码中的代码

<input type="checkbox" id={{amenity.name}} [checked]="amenity.value" name="amenities" (change)="amenityChange(amenity)">    

我还没有在这里放置render()和函数returnExample。

请帮助我

2 个答案:

答案 0 :(得分:0)

您已连接到eth提供商吗?

    const Web3 = require('web3')
    const web3 = new Web3(new Web3.providers.HttpProvider('https://mainnet.infura.io'))

确定要使用web3 1.x.x吗?因为您的代码看起来不错,所以如果您使用web3 v0.x.x,请尝试以下操作:

    web3.version.getNetwork(function(err, res){
      let selectedNetwork = ""

      if (!err) {
          switch (res) {
            case "1":
              selectedNetwork = "Mainnet"
              break
            case "2":
              selectedNetwork = "Morden"
              break
            case "3":
              selectedNetwork = "Ropsten"
              break
            case "4":
              selectedNetwork = "Rinkeby"
              break
            default:
              selectedNetwork = "Unknown network = "+res
        }
        return selectedNetwork
      } else {
        console.log(err)
      }
    })

答案 1 :(得分:0)

根本原因是由于无意中安装了错误版本的web3。我使用了常用的npm命令npm install web3,但是安装了错误的版本(0.20.x)。安装正确的版本web3@1.2.1后,问题消失了。