[TIL/React] 2023/06/01
async logic 실습비동기 작업을 다루기 위해, 무료 가상 API를 제공하는 {JSON} Placeholder를 활용했다.reference: https://jsonplaceholder.typicode.com/guide/해당 사이트에서 posts와 관련된
async logic 실습
비동기 작업을 다루기 위해, 무료 가상 API를 제공하는 ``{JSON} Placeholder``를 활용했다.
reference: https://jsonplaceholder.typicode.com/guide/
해당 사이트에서 posts와 관련된 가상 API를 활용했다. 임의의 posts 관련 데이터가 제공됨을 확인할 수 있다.
reference: https://jsonplaceholder.typicode.com/posts

redux, react-redux, redux-thunk, redux-toolkit을 설치했다.

평소처럼, index.js 파일에서 Provider로 App 컴포넌트를 감싸고, store를 주입했다.

흐름에 따라 src/redux/store.js 파일로 이동해보면, configureStore 함수를 통해 postReducer를 생성하고 default로 해당 reducer를 export하고 있는 것을 확인할 수 있다.

getPosts는 thunk 함수다. createAsyncThunk라는 메서드를 통해 비동기 작업을 처리하고 있다. "posts/getPosts"라는 타입을 지정하고, async를 통해 jsonplaceholder에 있는 data를 fetch하고 있는 모습이다. 추가적으로, then 메서드를 통해 해당 data를 json 형식으로 변형했다.
postSlice 영역에서는, name과 initialState를 설정하고, 비동기 작업을 수행할 extraReducers를 작성했다. pending과 fulfilled 그리고 rejected 각각에서는 기본적으로 loading에 대한 처리가 들어갔다. 다만 fulfilled의 경우에는 posts 배열을 액션에 맞게 update 해주고 있는 모습이다.

열심히 받아온 데이터를 실제 UI에 렌더링하는 모습이다. 구조분해할당을 통해 posts와 loading에 대한 state를, useSelector를 통해 가져왔다. UI가 렌더링됨과 동시에 getPosts 함수를 실행시킨다. loading 중이라면 'loading...'이라는 문구를 UI에 렌더링한다. 받아온 posts 데이터에 map 메서드를 적용해서, 각각의 데이터 중 title에 대한 부분을 렌더링하도록 설정했다.

More to read
프론트엔드와 백엔드 사이
HTTP 상태 코드는 프론트엔드에서 백엔드로 보냈던 요청의 수행 결과를 의미하는 일종의 약속이며, API를 구성하는 핵심 요소 중 하나입니다. 상태 코드와 관련하여, 백엔드는 잘 모르는 프론트엔드의 슬픈 사정이 있습니다.아래는 요청이 실패했음에도, 백엔드에서 상태 코드
JWT토큰 관리 방식 톺아보기
0. 들어가며 🎯 서비스에 접근하려는 사용자가 누구인지 확인하는 과정을 사용자 인증이라고 합니다. 인증된 사용자에게 주어진 권한을 확인하는 작업은 인가라고 부릅니다. 이번 글에서는 인가는 다루지 않습니다. 사용자 인증에는 많은 방식이 있지만, 오늘은 세션 인증 방
A2AA2A / MCP 멀티 에이전트 오케스트레이션
0. 들어가며 ✍️ Google for Developers에, 레스토랑 공급망 시나리오로 엮은 6대 프로토콜(MCP, A2A, UCP, AP2, A2UI, AG-UI)에 대한 가이드가 게시된 이후, MCP와 A2A부터 구현해 보는 것이 좋을 것 같다는 생각이 들었습니