728x90
Today, What I learned?
์ปค์คํ
ํ
์ ์ต์ํด์ ธ ๋ณด๊ธฐ ์ํด ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ฆฌํฉํฐ๋ง ํด๋ณด๊ธฐ๋ก ํ๋ค.
๊ธฐ์กด์ ์ฝ๋ ์ค์์ ํฌ๋๋ฆฌ์คํธ๋ฅผ ์ถ๊ฐํ๋ ๋ถ๋ถ์ ์ปค์คํ
ํ
์ผ๋ก ๋ง๋ค์ด ๋ณด์๋ค.
state์ dispatch, submitHandler ๊น์ง ๋ชจ๋ ๊ฐ์ ธ์๋ค.
useInput
import { useState } from 'react';
import { useDispatch } from 'react-redux';
import { nanoid } from '@reduxjs/toolkit';
import { __addTodos } from '../redux/modules/todoSlice';
const useInput = () => {
const [title, setTitle] = useState('');
const [content, setContent] = useState('');
const dispatch = useDispatch();
...
const newTodo = {
id: nanoid(),
title,
content,
isDone: false,
};
dispatch(__addTodos(newTodo));
setTitle('');
setContent('');
return true;
};
return { title, content, changeTitleHandler, changeContentHandler, submitHandler };
};
export default useInput;
๋ฆฌํฉํ ๋ง ํ
์ปค์คํ ํ ์ ์ ์ฉํ๊ณ ๋๋๊น ์ปดํฌ๋ํธ์ UI๋ง ๋จ์์ ํ๊ฒฐ ๋ณด๊ธฐ ํธํ๊ณ , ๊ด๋ จ๋ ๋ก์ง์ ํ๋์ ์ ์ ์๊ฒ ๋์ด ํธํ ๊ฒ ๊ฐ๋ค.
728x90
'๐ Studying > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ReactNative] <FlatList> ์ <ScrollView> (0) | 2023.01.04 |
---|---|
[ReactNative] useEffect์ useFocusEffect (0) | 2023.01.03 |
[ReactNative] AsyncStorage๋ก ๋ฐ์ดํฐ ์ ์ฅํ๊ธฐ (0) | 2022.12.30 |
[React Native] Expo๋ก RN ์ฝ๊ฒ ์์ํ๊ธฐ (0) | 2022.12.29 |
[React] API์๋ฒ env ํ๊ฒฝ๋ณ์ ์ ์ฉํ๊ธฐ (0) | 2022.12.27 |
Comment