Javascript 我可以在componentDidMount中使用条件语句吗?

Javascript 我可以在componentDidMount中使用条件语句吗?,javascript,reactjs,firebase,google-cloud-firestore,mui-datatable,Javascript,Reactjs,Firebase,Google Cloud Firestore,Mui Datatable,有没有办法在componentDidmount中设置一个条件语句,如果付款方式是通过卡,它将显示卡的编号?我用的是可移动的 componentDidMount() { try { firestore .collection("orders") .onSnapshot((snapshot) => { const orders = []; const data = doc.d

有没有办法在componentDidmount中设置一个条件语句,如果付款方式是通过卡,它将显示卡的编号?我用的是可移动的

  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>
    );
  }
}
componentDidMount(){
试一试{
火库
.托收(“订单”)
.onSnapshot((快照)=>{
常量顺序=[];
const data=doc.data();
命令,推({
“订单ID”:单据ID,
“付款方式”:data.paymentMethod.toUpperCase(),
{data.paymentMethod==“卡”(
): (
)},
});
});
this.setState({orders:orders});
});
}捕捉(错误){
控制台日志(err);
}
}
render(){
还这个,州政府的命令(
) : (
加载

); } }
如果希望具有可选的对象属性,可以在对象内部使用三元运算符
(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 }),
});

你说的“出示卡号”是什么意思?你的意思是呈现输出?@evolutionxbox是使用状态?设置然后在渲染中显示的内容?请您也向我们展示您的渲染方法。@evolutionxbox已对其进行了编辑。当付款类型为“卡”时,您希望显示什么?