Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- https://dasima.xyz/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%A0%9C%EA%B3%B1-math-pow-%EA%B3%84%EC%82%B0/
- https://developer-talk.tistory.com/299
- UI
- Beesbeesbees
- js
- JS#3일차달리자#초반인데#시간금방~
- removeCookie
- https://www.daleseo.com/js-array-slice-splice/
- 자바스크립트
- children vs childrenNodes
- slice/splice/split
- dom
- 내장고차함수
- User Flow
- https://lo-victoria.com/introduction-to-redux-toolkit-for-beginners
- react
- ㄷㅌ
- toString#String
- 노드교과서
- for~in/for~of
- cmarket
- 자바스크립트#JS#var#let#const#undefined#null
- variable#function
- UX
- 자바스크립트#조건문#문자열
- 헷갈린다~
- redux상태유지
- @redux-toolkit
- CSS
- 자바스크립트#JS#slice#splice
Archives
- Today
- Total
Daily Front_Minhhk
redux_thunk 본문
❗️ 앱에서 비동기 작업 할 때_주로 서버요청 등등 => redux-thunk 사용!!
thunk ?
- 일부 지연된 작업을 수행하는 코드 조각
action 은 객체를 전달하는데, 함수를 dispatch 해야 함으로,
함수를 전달 할 수 있게 하는
redux-thunk를 설치하여 적용하자!
npm i redux-thunk
import thunk from "redux-thunk";
...
const middleware = applyMiddleware(thunk, loggerMiddleware);
1 . 미들웨어에 적용,,
2. reducer 와 action 을 만들어준다
->
reducers/posts.tsx
enum ActionType {
FETCH_POSTS = "FETCH_POSTS",
DELETE_POSTS = "DELETE_POSTS",
}
interface Post {
userId: number;
id: number;
title: string;
}
interface Action {
type: ActionType;
payload: Post[];
}
const posts = (state = [], action: Action) => {
switch (action.type) {
case "FETCH_POSTS":
return [...state, ...action.payload];
default:
return state;
}
};
export default posts;
actions/posts.tsx
export const fetchPost = (): any => async (dispatch: any, getState: any) => {
const res = await axios.get("http://jsonplaceholder.typicode.com/posts");
dispatch({ type: "FETCH_POSTS", payload: res.data });
};
3. 사용할 컴포넌트 에서 dispatch를 해준 뒤, useSelector() 를 이용해 데이터를 꺼낸다.
그리고 아래에서 랜더링~해준다.
const posts: Post[] = useSelector((state: RootState) => state.posts);
useEffect(() => {
dispatch(fetchPost());
}, [dispatch]);
...
return
...
{posts.map((post, i) => (
<li key={i}>{post.title}</li>
))}
'Study > Redux' 카테고리의 다른 글
redux_toolkit (0) | 2023.10.12 |
---|---|
redux_기본사용, 로거 미들웨어 (0) | 2023.10.10 |