From fa4c274d697e90fb680b83ae58f044a5002b4ca4 Mon Sep 17 00:00:00 2001 From: ab3MN Date: Fri, 15 Nov 2024 15:27:56 +0200 Subject: [PATCH] fix:fix eslint errors --- src/hooks/useLocaLStorage.ts | 8 +++++--- src/hooks/useSelectedTodo.ts | 2 +- src/hooks/useTodos.ts | 9 +++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/hooks/useLocaLStorage.ts b/src/hooks/useLocaLStorage.ts index ae0df653b..e56b4c042 100644 --- a/src/hooks/useLocaLStorage.ts +++ b/src/hooks/useLocaLStorage.ts @@ -6,9 +6,11 @@ interface IUseLocalStorage { const useLocaLStorage = (key: string): IUseLocalStorage => { const setItem = (value: unknown): void => { - typeof value === 'string' - ? localStorage.setItem(key, value) - : localStorage.setItem(key, JSON.stringify(value)); + if (typeof value === 'string') { + localStorage.setItem(key, value); + } else { + localStorage.setItem(key, JSON.stringify(value)); + } }; const getItem = (): unknown => { diff --git a/src/hooks/useSelectedTodo.ts b/src/hooks/useSelectedTodo.ts index 0e909ddc7..8de40fe4d 100644 --- a/src/hooks/useSelectedTodo.ts +++ b/src/hooks/useSelectedTodo.ts @@ -10,7 +10,7 @@ export const useSelectedTodo = () => { setSelectedTodo(null); } }, - [setSelectedTodo], + [selectedTodo], ); useLayoutEffect(() => { diff --git a/src/hooks/useTodos.ts b/src/hooks/useTodos.ts index b7910b819..9c7a3a939 100644 --- a/src/hooks/useTodos.ts +++ b/src/hooks/useTodos.ts @@ -1,4 +1,4 @@ -import { useLayoutEffect, useState } from 'react'; +import { useCallback, useLayoutEffect, useState } from 'react'; import { Todo } from '../types/Todo'; import { getCompletedTodos, @@ -13,11 +13,12 @@ export const useTodos = () => { const [todos, setTodos] = useState([]); const { getItem, setItem } = useLocaLStorage('todos'); - const fetchTodos = () => { + const fetchTodos = useCallback(() => { const localTodos = getItem(); setTodos(localTodos ? localTodos : []); - }; + }, []); + const addTodo = (title: string): Todo | void => { const todo = { title, @@ -79,7 +80,7 @@ export const useTodos = () => { useLayoutEffect(() => { fetchTodos(); - }, []); + }, [fetchTodos]); return { todos,