我正在使用一个名为 trufflebox's react-auth 的样板,其中
问题:当我web3
从 Redux 存储中检索对象时,它undefined
很可能是因为web3
尚未在上述步骤 2 中创建。
web3
只有在设置后才从 Redux 存储中检索的正确方法应该是什么?
布局/测试/Test.js
import React, { Component } from 'react';
import store from '../../store';
class Test extends Component {
componentWillMount() {
this.setState({
web3: store.getState().results.payload.web3Instance
})
this.instantiateContract()
}
instantiateContract() {
console.log(this.state.web3) // UNDEFINED!!
}
render() {
return (
<h1>Test</h1>
)
}
}
export default Test
web3
如果我在不去 Redux 商店的情况下再次检索,一切正常:
import React, { Component } from 'react';
import getWeb3 from '../../util/web3/getWeb3';
class Test extends Component {
componentWillMount() {
getWeb3
.then(results => {
this.setState({
web3: results.payload.web3Instance
})
this.instantiateContract()
})
}
instantiateContract() {
console.log(this.state.web3)
}
render() {
return (
<h1>Test</h1>
)
}
}
export default Test