Я подписан на событие солидности от componentsdidmount. Я могу console.log событие. Я хотел бы показать событие пользователю, используя что-то вроде того, однако, я точно не знаю, как это сделать. Может ли кто-нибудь указать мне правильное направление? Нужно ли помещать контейнер сообщений в render () и использовать состояние для передачи сообщений?
async componentDidMount () {
let {myData, myDataSocks, address, privateDataKey, accessor} = this.props;
const accounts = await web3.eth.getAccounts();
let contractBalance;
await web3.eth.getBalance(address).then(function(result) {
contractBalance = web3.utils.fromWei(result);
});
const owner = await myData.methods.owner().call();
const isOwner = owner === accounts[0];
this.setState({
contractBalance,
isOwner
});
if (accessor){
const curLocation = window.location;
const privateData = await superagent.get(`${curLocation.protocol}//${curLocation.host}/api/getbyid/${privateDataKey}`)
.then(res => res.body);
this.setState({
privateData: {
firstName: privateData[0].name.first,
lastName: privateData[0].name.last,
mobile: privateData[0].mobile,
email: privateData[0].email,
location: privateData[0].location,
age: privateData[0].age
}
});
} else {
this.setState({
privateData: {
firstName: 'unauthorized',
lastName: 'unauthorized',
mobile: 'unauthorized',
email: 'unauthorized',
location: 'unauthorized',
age: 'unauthorized'
}
});
}
if (isOwner) {
let eventReceivedPayment = myDataSocks.events.ReceivedPayment({}, async (error, event) => {
if (!error) {
console.log('ReceivedPayment: ', event.returnValues.fromAcct, web3.utils.fromWei(event.returnValues.payment));
} else {
console.log('ReceivedPayment error:', error);
}
});
console.log('eventReceivedPayment: ', eventReceivedPayment);
}
Итак, я хотел бы показать пользователю сообщение, когда срабатывает eventReceivedPayment.