From d3a5dd46a64f5f0acd656251fa4fb4dab3e3ee25 Mon Sep 17 00:00:00 2001 From: moonseonghui Date: Sat, 20 Jul 2024 03:44:48 +0900 Subject: [PATCH 1/4] =?UTF-8?q?hotfix:=20=ED=95=9C=EA=B8=80=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=20=EC=8B=9C=202=EB=B2=88=20=EC=9E=85=EB=A0=A5=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/tasks/createTask/query.ts | 7 +++++-- .../common/textbox/TextInputStaging.tsx | 16 ++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/apis/tasks/createTask/query.ts b/src/apis/tasks/createTask/query.ts index 1be5e833..bb456070 100644 --- a/src/apis/tasks/createTask/query.ts +++ b/src/apis/tasks/createTask/query.ts @@ -3,12 +3,15 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import createTask from './axios'; import { CreateTaskType } from './CreateTaskType'; /** Task 추가 */ -const useCreateTask = () => { +const useCreateTask = (clearTask: () => void) => { const queryClient = useQueryClient(); const mutation = useMutation({ mutationFn: ({ name, deadLine }: CreateTaskType) => createTask({ name, deadLine }), - onSuccess: () => queryClient.invalidateQueries({ queryKey: ['today'] }), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['today'] }); + clearTask(); // 성공했을 때 clearTask 호출 + }, }); return { mutate: mutation.mutate }; diff --git a/src/components/common/textbox/TextInputStaging.tsx b/src/components/common/textbox/TextInputStaging.tsx index 386a2495..845609ba 100644 --- a/src/components/common/textbox/TextInputStaging.tsx +++ b/src/components/common/textbox/TextInputStaging.tsx @@ -11,7 +11,6 @@ import formatDatetoString from '@/utils/formatDatetoString'; function TextInputStaging() { const [taskName, setTaskName] = useState(''); - const { mutate } = useCreateTask(); const [date, setDate] = useState(null); const [time, setTime] = useState(null); const nameRef = useRef(null); @@ -32,6 +31,15 @@ function TextInputStaging() { setTaskName(e.target.value); }; + const clearTask = () => { + setTaskName(''); + if (nameRef.current) nameRef.current.value = ''; + setDate(null); + setTime(null); + }; + + const { mutate } = useCreateTask(clearTask); + /** 태스크 쏟아내기 전송 */ const onSubmit = () => { const formattedDate = date ? formatDatetoLocalDate(date) : null; @@ -44,15 +52,11 @@ function TextInputStaging() { }, }); } - setDate(null); - setTime(null); - if (nameRef.current) nameRef.current.value = ''; - setTaskName(''); }; /** 엔터키로 쏟아내기 전송 */ const handleEnterPress = (e: React.KeyboardEvent) => { - if (e.key === 'Enter') { + if (e.key === 'Enter' && e.nativeEvent.isComposing === false) { e.preventDefault(); onSubmit(); } From 8a08bac6a6ba407c100d12525fc7afd512a9411c Mon Sep 17 00:00:00 2001 From: moonseonghui Date: Sat, 20 Jul 2024 03:46:10 +0900 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=EC=97=94=ED=84=B0=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/textbox/TextInputStaging.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/common/textbox/TextInputStaging.tsx b/src/components/common/textbox/TextInputStaging.tsx index 845609ba..e1d03e77 100644 --- a/src/components/common/textbox/TextInputStaging.tsx +++ b/src/components/common/textbox/TextInputStaging.tsx @@ -56,7 +56,7 @@ function TextInputStaging() { /** 엔터키로 쏟아내기 전송 */ const handleEnterPress = (e: React.KeyboardEvent) => { - if (e.key === 'Enter' && e.nativeEvent.isComposing === false) { + if (e.key === 'Enter' && !e.nativeEvent.isComposing) { e.preventDefault(); onSubmit(); } From b18838a5cd7b77568e4e9e2c519e743af1c1bd27 Mon Sep 17 00:00:00 2001 From: moonseonghui Date: Sat, 20 Jul 2024 03:52:18 +0900 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=EA=B8=B0=EC=A1=B4=EC=9D=98=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/tasks/createTask/query.ts | 3 +-- src/components/common/textbox/TextInputStaging.tsx | 13 +++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/apis/tasks/createTask/query.ts b/src/apis/tasks/createTask/query.ts index bb456070..847d211d 100644 --- a/src/apis/tasks/createTask/query.ts +++ b/src/apis/tasks/createTask/query.ts @@ -3,14 +3,13 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import createTask from './axios'; import { CreateTaskType } from './CreateTaskType'; /** Task 추가 */ -const useCreateTask = (clearTask: () => void) => { +const useCreateTask = () => { const queryClient = useQueryClient(); const mutation = useMutation({ mutationFn: ({ name, deadLine }: CreateTaskType) => createTask({ name, deadLine }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['today'] }); - clearTask(); // 성공했을 때 clearTask 호출 }, }); diff --git a/src/components/common/textbox/TextInputStaging.tsx b/src/components/common/textbox/TextInputStaging.tsx index e1d03e77..980d0c41 100644 --- a/src/components/common/textbox/TextInputStaging.tsx +++ b/src/components/common/textbox/TextInputStaging.tsx @@ -31,14 +31,7 @@ function TextInputStaging() { setTaskName(e.target.value); }; - const clearTask = () => { - setTaskName(''); - if (nameRef.current) nameRef.current.value = ''; - setDate(null); - setTime(null); - }; - - const { mutate } = useCreateTask(clearTask); + const { mutate } = useCreateTask(); /** 태스크 쏟아내기 전송 */ const onSubmit = () => { @@ -51,6 +44,10 @@ function TextInputStaging() { time, }, }); + setTaskName(''); + if (nameRef.current) nameRef.current.value = ''; + setDate(null); + setTime(null); } }; From 05ba6afdfea7cf7057256611eb54cc749a0f48bb Mon Sep 17 00:00:00 2001 From: moonseonghui Date: Sat, 20 Jul 2024 04:02:15 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=EC=9B=90=EB=9E=98=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/tasks/createTask/query.ts | 4 +--- src/components/common/textbox/TextInputStaging.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/apis/tasks/createTask/query.ts b/src/apis/tasks/createTask/query.ts index 847d211d..1be5e833 100644 --- a/src/apis/tasks/createTask/query.ts +++ b/src/apis/tasks/createTask/query.ts @@ -8,9 +8,7 @@ const useCreateTask = () => { const mutation = useMutation({ mutationFn: ({ name, deadLine }: CreateTaskType) => createTask({ name, deadLine }), - onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ['today'] }); - }, + onSuccess: () => queryClient.invalidateQueries({ queryKey: ['today'] }), }); return { mutate: mutation.mutate }; diff --git a/src/components/common/textbox/TextInputStaging.tsx b/src/components/common/textbox/TextInputStaging.tsx index 980d0c41..189f2e5e 100644 --- a/src/components/common/textbox/TextInputStaging.tsx +++ b/src/components/common/textbox/TextInputStaging.tsx @@ -44,11 +44,11 @@ function TextInputStaging() { time, }, }); - setTaskName(''); - if (nameRef.current) nameRef.current.value = ''; - setDate(null); - setTime(null); } + setTaskName(''); + if (nameRef.current) nameRef.current.value = ''; + setDate(null); + setTime(null); }; /** 엔터키로 쏟아내기 전송 */