我可以在 componentDidMount 中有一个条件语句吗?

Can I have a conditional statement inside the componentDidMount?

有什么方法可以在 componentDidmount 中设置一个条件语句,如果支付方式是卡,它会显示卡号?我正在使用 muidatatable

  componentDidMount() {
    try {
      firestore
        .collection("orders")
        .onSnapshot((snapshot) => {
          const orders = [];
            const data = doc.data();
            orders.push({
              "Order ID": doc.id,
              "Payment method": data.paymentMethod.toUpperCase(),
                {data.paymentMethod == "card" ? (
            
                ): (

             )},
               });
          });
          this.setState({ orders: orders });
        });
    } catch (err) {
      console.log(err);
    }
  }


render() {
    return this.state.orders ? (
      <div>
        <MUIDataTable
          title={"Preparing"}
          columns={this.columns}
          data={this.state.orders}
          options={this.options}
        />
      </div>
    ) : (
      <p>Loading...</p>
    );
  }
}

如果你想拥有可选的对象属性,你可以在对象内部使用三元运算符 (a ? b : c) 传递条件语句,你需要使用扩展运算符来实现。

orders.push({
  "Order ID": doc.id,
  "Payment method": data.paymentMethod.toUpperCase(),
  ...(data.paymentMethod == "card" ? { "Payment card": 1234 } : {}),
});

或使用 && 的更简单方法:

orders.push({
  "Order ID": doc.id,
  "Payment method": data.paymentMethod.toUpperCase(),
  ...(data.paymentMethod == "card" && { "Payment card": 1234 }),
});