вам нужно использовать состояние вашего компонента
В конструкторе :
this.state = {willShowLoader: false}
В вашей функции onclick (второй параметрэто обратный вызов)
this.state.setState({willShowLoader: true}, sendTransaction)
В вашей функции отправки транзакции : (обратите внимание на setState внутри затем)
web3js.eth.sendTransaction({
to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459',
from: address,
})
.then(function (txHash) {
this.setState({willShowLoader:false})
console.log(txHash);
}).catch(error => {
console.log(error);
});
})
Затем в вашем рендере метод: (с использованием условного рендеринга)
(this.state.willShowLoader)?<Spinner/>:<notSpinner/>