[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
Amazon VPC Architecture 이해하기
새로운 프로젝트를 기획하며, 개발에서 무엇을 가장 먼저 고민해야 하는지 다시 돌아보게 되었습니다.한때는 프론트엔드가 모든 설계의 출발점이라고 믿었습니다. 유저가 무엇을 보고, 어떤 흐름에서 머무르고 이탈하는지에 대한 이해 없이 서비스를 만든다는 건 불가능하다고 생각했기
'원사이트'프론트엔드 관점으로 알고리즘 이해하기
오랜만에 방법론에 관한 글을 쓰게 되었습니다. 최근 상황은 이렇습니다. SSAFY에서는 하루에 엄청난 양의 알고리즘 문제들을 과제로 수행하게 됩니다. 그 과정에서, '구현력'이 매우 떨어진다는 생각이 들었습니다. 완전히 어려운 문제라면 '아쉬움'이라는 감정조차 느끼지
SubnetVPC 설계의 시작: IP와 Subnet
반복되는 루틴 속에서 얻은 안정감을 발판 삼아, 이제는 기술적 스펙트럼을 넓히기 위한 개인 프로젝트에 착수하고자 합니다.이번 프로젝트의 목표는 단순한 포트폴리오 구축을 넘어, 실제 서비스 수준의 블로그 시스템 구현과 다국어 처리 적용 등 실무에 가까운 역량을 한 단계