JSX에서 switch-case문

JSX에서 switch-case문을 사용하려면 즉시 실행함수를 사용하면 된다.
if문 중첩도 마찬가지!

const OrderStatus = () => {
  const { status, payment, shipping } = useOrder()

  return (
    <div>
      {(() => {
        if (status === 'PENDING' && payment.status === 'WAITING') {
          return <PaymentWaitingMessage deadline={payment.deadline} />
        }

        if (status === 'PROCESSING') {
          switch(shipping.status) {
            case 'PREPARING':
              return <PreparingShipment estimatedDate={shipping.estimatedDate} />
            case 'IN_DELIVERY':
              return <InDeliveryInfo trackingNumber={shipping.trackingNumber} />
            case 'DELIVERED':
              return <DeliveredInfo deliveryDate={shipping.deliveryDate} />
            default:
              return null
          }
        }

        return null
      })()}
    </div>
  )
}