4 回答
TA贡献1779条经验 获得超6个赞
为了访问accounts从 App 组件传递到 DisplayAcc 组件的状态:
render() {return (
<div className="container">
<h1 className="title">Retail API</h1>
<DisplayAcc accounts = {this.state.accounts} />
</div>
)}
TA贡献1815条经验 获得超6个赞
我没有看到在哪里
loadData
被调用,这让我对 的价值产生怀疑accounts
。一致性是关键:如果
accounts
是组件状态的一部分,那么您应该通过 访问它this.state.accounts
,而不是this.accounts
。请注意,你是
console.log
有意义的。因此,如果您想检查this.account
,就没有点打印res
,正如您在评论中提到的那样。
TA贡献1784条经验 获得超9个赞
您应该能够通过尝试通过this.accounts
更改来访问该状态:
this.state.accounts
现在社区更流行使用所谓的函数式组件。通过这种方法,您不需要构造函数,真的建议您阅读此内容,因为它将大大简化您的代码!
TA贡献1785条经验 获得超8个赞
首先,this.loadData = this.loadData.bind(this)
是不必要的,因为loadData
是一个箭头函数。
其次,setState
它是一个异步函数,因此您无法在调用它后立即读取新状态。因此,以下控制台日志将是undefined
this.setState({accounts: res}) console.log(this.accounts) // also this must be this.state.accounts!
此外,您试图以错误的方式获取状态值,它必须是:
<DisplayAcc accounts={this.state.accounts} />
如果您想在DisplayAcc
组件中读取帐户 prop,您应该将控制台日志添加到 或render
方法componentDidUpate
中,因为constructor
仅在第一次渲染时调用,并且accounts
当时您的 props 为空。但是我提到的那些每次道具改变时都会被调用。
添加回答
举报