使用在componentdidmount方法中传递给组件的数据

时间:2019-01-10 22:09:11

标签: reactjs

我下面有一个名为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;

1 个答案:

答案 0 :(得分:3)

以这种方式渲染组件时:

<PrivateDataSingle customer={this.state.customer} />

您正在通过customer作为道具。

在您的componentDidMount中,您可以通过以下方式进行检索:

const getCustomerId = this.props.customer.customerId;