โจ Context API ๊ตฌํ ์์
1. Context์ Provider ์์ฑ
import { createContext, useState } from "react";
export const LoginContext = createContext();
export const LoginProvider = ({ children }) => {
const [isLoggedIn, setIsLoggedIn] = useState(false);
return (
<LoginContext.Provider value={{ isLoggedIn, setIsLoggedIn }}>
{children}
</LoginContext.Provider>
);
};
2. App์ Provider ์ ์ฉ
function App() {
return (
<LoginProvider>
<Home />
</LoginProvider>
);
}
3. Context ์ฌ์ฉํ๊ธฐ
const { isLoggedIn, setIsLoggedIn } = useContext(LoginContext);
1. ํจํค์ง ์ค์น
npm install @reduxjs/toolkit react-redux
2. Store ์ค์
import { configureStore } from '@reduxjs/toolkit';
import todoReducer from './features/todoSlice';
export const store = configureStore({
reducer: {
todo: todoReducer,
},
});
3. Slice ์์ฑ
const todoSlice = createSlice({
name: 'todo',
initialState,
reducers: {
addTodo: (state, action) => {
state.todos.push(action.payload);
},
},
});
4. Provider ์ค์
function App() {
return (
<Provider store={store}>
<App />
</Provider>
);
}
5. ์ปดํฌ๋ํธ์์ ์ฌ์ฉ
const dispatch = useDispatch();
const todos = useSelector((state) => state.todo.todos);
โญ๏ธ ์ฐธ๊ณ
- Context API๋ ๊ฐ๋จํ ์ ์ญ ์ํ ๊ด๋ฆฌ์ ์ ํฉ
- Redux Toolkit์ ๋ณต์กํ ์ํ ๊ด๋ฆฌ๋ ํฐ ๊ท๋ชจ์ ํ๋ก์ ํธ์ ์ ํฉ