From 654df767935a888f1a2d4eccd8c21109b8f5969d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A7=80=EC=B2=A0?= Date: Thu, 11 Dec 2025 16:54:55 +0900 Subject: [PATCH] =?UTF-8?q?=20TypeScript=20=EC=98=A4=EB=A5=98=20=20:=20JSX?= =?UTF-8?q?.Element=EB=A5=BC=20React.ReactElement=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/cm/src/shared/lib/match-query-status.ts | 29 ++++++++++--------- .../pages/datainsert/ui/datainsert-page.tsx | 4 +-- apps/dc/src/shared/lib/match-query-status.ts | 29 ++++++++++--------- .../ui/sdmInfoInsertForm/component.tsx | 2 +- .../components/ui/sdmLoginForm/component.tsx | 4 +-- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/apps/cm/src/shared/lib/match-query-status.ts b/apps/cm/src/shared/lib/match-query-status.ts index 0e5f45829..cfab150a3 100644 --- a/apps/cm/src/shared/lib/match-query-status.ts +++ b/apps/cm/src/shared/lib/match-query-status.ts @@ -1,3 +1,4 @@ +import React from "react"; import { type UseQueryResult } from "@tanstack/react-query"; import type { PageableList } from "../model"; @@ -9,24 +10,24 @@ import type { PageableList } from "../model"; export function matchQueryStatus( query: UseQueryResult>, options: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Empty?: JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Empty?: React.ReactElement; Success: ( data: UseQueryResult> & { data: NonNullable["data"]>; }, - ) => JSX.Element; + ) => React.ReactElement; }, -): JSX.Element; +): React.ReactElement; export function matchQueryStatus( query: UseQueryResult>, options: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Success: (data: UseQueryResult>) => JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Success: (data: UseQueryResult>) => React.ReactElement; }, -): JSX.Element; +): React.ReactElement; export function matchQueryStatus( query: UseQueryResult>, { @@ -35,12 +36,12 @@ export function matchQueryStatus( Empty, Success, }: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Empty?: JSX.Element; - Success: (data: UseQueryResult>) => JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Empty?: React.ReactElement; + Success: (data: UseQueryResult>) => React.ReactElement; }, -): JSX.Element { +): React.ReactElement { if (query.isLoading && Loading) { return Loading; } diff --git a/apps/dc/src/pages/datainsert/ui/datainsert-page.tsx b/apps/dc/src/pages/datainsert/ui/datainsert-page.tsx index c1e6024a0..08e2530ef 100644 --- a/apps/dc/src/pages/datainsert/ui/datainsert-page.tsx +++ b/apps/dc/src/pages/datainsert/ui/datainsert-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState, useEffect, useRef } from "react"; +import React, { useState, useEffect, useRef } from "react"; import { PageLayout } from "@/shared/ui/page-layout"; import { Button } from "@common/components"; import { @@ -233,7 +233,7 @@ function DataInsertPage() { }; // 단순 트리 컴포넌트 (펼침/접기 지원) - function SimpleTree({ nodes, selectedId, onSelect, depth = 0 }: { nodes: any[]; selectedId: string; onSelect: (node: any) => void; depth?: number }): JSX.Element { + function SimpleTree({ nodes, selectedId, onSelect, depth = 0 }: { nodes: any[]; selectedId: string; onSelect: (node: any) => void; depth?: number }): React.ReactElement { return (
    ( query: UseQueryResult>, options: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Empty?: JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Empty?: React.ReactElement; Success: ( data: UseQueryResult> & { data: NonNullable["data"]>; }, - ) => JSX.Element; + ) => React.ReactElement; }, -): JSX.Element; +): React.ReactElement; export function matchQueryStatus( query: UseQueryResult>, options: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Success: (data: UseQueryResult>) => JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Success: (data: UseQueryResult>) => React.ReactElement; }, -): JSX.Element; +): React.ReactElement; export function matchQueryStatus( query: UseQueryResult>, { @@ -35,12 +36,12 @@ export function matchQueryStatus( Empty, Success, }: { - Loading?: JSX.Element; - Errored?: JSX.Element | ((error: unknown) => JSX.Element); - Empty?: JSX.Element; - Success: (data: UseQueryResult>) => JSX.Element; + Loading?: React.ReactElement; + Errored?: React.ReactElement | ((error: unknown) => React.ReactElement); + Empty?: React.ReactElement; + Success: (data: UseQueryResult>) => React.ReactElement; }, -): JSX.Element { +): React.ReactElement { if (query.isLoading && Loading) { return Loading; } diff --git a/apps/dm/components/ui/sdmInfoInsertForm/component.tsx b/apps/dm/components/ui/sdmInfoInsertForm/component.tsx index 2ba965a6e..531b3b698 100644 --- a/apps/dm/components/ui/sdmInfoInsertForm/component.tsx +++ b/apps/dm/components/ui/sdmInfoInsertForm/component.tsx @@ -34,7 +34,7 @@ export interface SdmInfoRegFormProps { type FieldComponent = ( field: ControllerRenderProps -) => JSX.Element; +) => React.ReactElement; export function SdmInfoRegForm({ form, diff --git a/apps/dm/components/ui/sdmLoginForm/component.tsx b/apps/dm/components/ui/sdmLoginForm/component.tsx index 7617b4b31..7ec417c71 100644 --- a/apps/dm/components/ui/sdmLoginForm/component.tsx +++ b/apps/dm/components/ui/sdmLoginForm/component.tsx @@ -4,7 +4,7 @@ import type { DemandCompType } from "@common/business_components/ui/sdmInsertFor import { Button, Input } from "@common/components"; import { zodResolver } from "@hookform/resolvers/zod"; import { sha512 } from 'js-sha512'; -import { useEffect, useMemo, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import { FormProvider, useForm, type ControllerRenderProps } from "react-hook-form"; import toast from "react-hot-toast"; import * as z from "zod"; @@ -47,7 +47,7 @@ export function SdmLoginForm() { }), [isBznmTotNoDisabled]); type SdmLoginForm = z.infer; - type FieldComponent = (field: ControllerRenderProps) => JSX.Element; + type FieldComponent = (field: ControllerRenderProps) => React.ReactElement; const formSchema = sdmLoginFormSchema;