diff --git a/src/App.js b/src/App.js
index 945397f..39e9c21 100644
--- a/src/App.js
+++ b/src/App.js
@@ -2,13 +2,11 @@ import GlobalStyle from './styles/GlobalStyle'
import AppRouter from './routes/router'
import { RecoilRoot } from 'recoil'
-const App = () => {
- return (
-
-
-
-
- )
-}
+const App = () => (
+
+
+
+
+)
export default App
diff --git a/src/pages/createTask.jsx b/src/pages/createTask.jsx
index be63f8c..65e61fc 100644
--- a/src/pages/createTask.jsx
+++ b/src/pages/createTask.jsx
@@ -1,5 +1,6 @@
-import React, { useMemo, useState } from 'react'
-import { Link, useLocation, useNavigate } from 'react-router-dom'
+import useCreateTasks from 'shared/hooks/useCreateTasks'
+import useNavigation from 'shared/hooks/useNavigation'
+import { Link, useLocation } from 'react-router-dom'
import styled from 'styled-components'
import { colors } from 'shared/constants/colors'
@@ -15,62 +16,26 @@ const BUTTON_TEXT = Object.freeze({
})
export const CreateTask = () => {
- const navigate = useNavigate()
const location = useLocation()
+ const { tasks, task, spareTime, setSpareTime, setTask, removeTask, handleSubmit, isValidTasks } =
+ useCreateTasks()
- const [spareTime, setSpareTime] = useState({ hour: 0, minute: 0 })
- const [task, setTask] = useState('')
- const [tasks, setTasks] = useState([])
- const [isValidTasks, setIsValidTasks] = useState(false)
-
- const handleSubmit = e => {
- e.preventDefault()
- const trimmedTask = task.trim()
-
- if (trimmedTask) {
- setTasks([...tasks, { id: `${Date.now()}${tasks.length}`, task: trimmedTask }])
- }
-
- setTask('')
- }
-
- const removeTask = removeId => {
- const filteredTasks = tasks.filter(({ id }) => removeId !== id)
- setTasks(filteredTasks)
- }
-
- const handleIsValidTask = tasks => {
- if (tasks.length > 0) {
- setIsValidTasks(true)
- return
- }
- setIsValidTasks(false)
+ const navigationValidator = () => {
+ const { spareTime } = location.state
+ setSpareTime(spareTime)
}
- useMemo(() => {
- try {
- const { spareTime } = location.state
- setSpareTime(spareTime)
- } catch {
- navigate('/home')
- }
- }, [location, navigate])
-
- useMemo(() => {
- handleIsValidTask(tasks)
- }, [tasks])
+ useNavigation(navigationValidator)
return (
-
+
오늘 해야할 일들은 무엇이 있나요?
-
+
클릭하여 삭제할 수 있습니다.
@@ -83,7 +48,7 @@ export const CreateTask = () => {
))}
-