궁금증

<aside> 💡 JSX 안에서 변수를 선언하는 것은 성능과 가독성 어떻게 고려해야할까?

</aside>

결론

<aside> 💡

고민 시발점

export default function IntakePurposeCards({
  item,
  mid,
}: {
  item: z.infer<typeof NutrientIntakePurposes.findAllV1.outputRs>;
  mid: string;
}) {
  return (
    <Link
      className="cursor-pointer text-center font-bold"
      href={`/intake-purpose/${item.intake_purpose_id}?mid=${mid}`}
    >
      <Card
        className={`relative flex min-h-40 flex-col items-center justify-center rounded ${item.is_enabled !== IsEnabled.ENABLED ? 'bg-gray-100' : ''}`}
      >
        <div className="absolute right-2 top-1">
          {item.is_enabled === IsEnabled.ENABLED ? (
            <Badge variant="activeImpact"></Badge>
          ) : (
            <Badge variant="deActiveImpact"></Badge>
          )}
        </div>
        <div className={cn(`${item.is_enabled !== IsEnabled.ENABLED && 'text-nutrisync-300'}`, 'text-xl md:text-2xl')}>
          {item.intake_purpose_name}
        </div>
      </Card>
    </Link>
  );
}

위 코드에 대한 코드 리뷰이다.

const cardClasses = item.is_enabled !== IsEnabled.ENABLED ? 'bg-gray-100 text-nutrisync-300' : '';

return (
  <Card className={`relative flex min-h-40 flex-col items-center justify-center rounded ${cardClasses}`}>

JSX 안에서 변수를 선언하는 것에 대한 고려 사항:

  1. 가독성:
  2. 성능:
  3. 관리 측면:

그렇다면?