我必须文件和保持代码干净,我去传递一个非常重要的功能,我将在其他文件中使用到自己的文件。但是我需要在主文件中调用这个函数,我不知道如何传递它。我已经被困在这里好几个小时了。所以我很感激你的想法。
这也是我想传递函数的文件:
import React, { Component } from 'react';
import './App.css';
import ERC20ABI from './blockchain/ERC20ABI.js';
import goweb3 from './blockchain/goweb3.js'
import ethweb3 from './blockchain/ethweb3.js'
import parseAddress from './TokenBalance';
class App extends Component {
deploSC = async () => {
const accounts = await goweb3.eth.getAccounts();
//const code = ethweb3.eth.getCode(document.getElementById('smartcontract').value); Not working
goweb3.eth.sendTransaction({
from: accounts[0],
data: document.getElementById('scbytecode').value
}, function(error, hash){
console.log(error,hash);
});
}
render() {
return (
<div className="App">
<header className="App-header">
<p>
Enter the smart contract address:
<input type="text" name="name" placeholder="Smart Contract" value="0" id="smartcontract" className="nice-textbox"/>
<input type ="text" placeholder="Smart Contract Bytecode" name="name" id ="scbytecode"className="nice-textbox"/>
<button id="button" onClick={this.address}>Submit!</button>
<button onClick={this.deploSC}> Deploy Sc</button>
</p>
</header>
</div>
);
}
}
export default App;这是im创建函数的文件:
import ERC20ABI from './blockchain/ERC20ABI.js';
import goweb3 from './blockchain/goweb3.js'
import ethweb3 from './blockchain/ethweb3.js'
export const parseAddress(){
var results
var addresses = [];
var contractObj = new ethweb3.eth.Contract(ERC20ABI,document.getElementById('smartcontract').value));
contractObj.getPastEvents(
'Transfer' || 'allEvents',
{
fromBlock: 0,
toBlock: 'latest'
},
function(err,res){
console.log(err,res);
results = res
}
);
for(var i = 0; i < 10; i++) {
addresses.push([results[i].returnValues.from,results[i].returnValues.value]);
}
console.log(addresses);
console.log(addresses.length)
return addresses
};发布于 2018-11-27 23:10:42
您正在尝试导入一个没有括号的命名导出。如果将导入语句更改为此,则应该可以:
import { parseAddress } from './TokenBalance';
或者,您可以使用默认导出,并且可以不带括号地导入。
https://stackoverflow.com/questions/53509544
复制相似问题