我可以在 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 }),
});
有什么方法可以在 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 }),
});