Я использую трюфель React Box. Когда я использую React Router, чтобы открыть компонент. Ожидание в ComponentDidMount ничего не возвращает. Однако после обновления страницы все работает нормально.
Это мой код:
componentDidMount = async () => {
try {
console.log("1");
const web3 = await getWeb3();
console.log("2")
const accounts = await web3.eth.getAccounts();
const Contract = truffleContract(PrototypeStateContract);
Contract.setProvider(web3.currentProvider);
const instance = await Contract.deployed();
this.setState({ web3, accounts, contract: instance });
} catch (error) {
alert(
`Failed to load web3, accounts, or contract. Check console for details.`
);
console.log(error);
}
};
Если для доступа к компоненту используется реагирующий маршрутизатор «Link to», выводится только «1».
При обновлении одной и той же страницы печатаются как «1», так и «2».
Как я могу решить эту проблему?