我下面有一个名为PrivateDataSingle的组件。我能够将客户数据传递到此组件 从我在任何地方
<PrivateDataSingle customer={this.state.customer}/> :
我想在componentDidMount方法中使用客户数据中包含的customerId。 这将用作返回数据的api的一部分。
似乎我的客户信息在componentDidMount方法中不存在。我该怎么做 这个可用吗?
但是它存在于组件的其他部分。
class PrivateDataSingle extends PureComponent {
state = {
invoices:[]
}
componentDidMount() {
const getCustomerId = customer.customerId; ??
AXIOS_AUTHED.get(`${API}/customers/${getCustomerId}/invoices`)
.then(res => {
const invoices= res.data;
this.setState({ invoices });
})
}
render() {
return (
<h2>Hello world</h2>
);
}
}
export default PrivateDataSingle;
答案 0 :(得分:3)
以这种方式渲染组件时:
<PrivateDataSingle customer={this.state.customer} />
您正在通过customer
作为道具。
在您的componentDidMount
中,您可以通过以下方式进行检索:
const getCustomerId = this.props.customer.customerId;