semantic-ui реагирует на компонент - PullRequest
0 голосов
/ 02 июля 2018

Я подписан на событие солидности от 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.

...