본문 바로가기

JavaScript/React45

React) 비동기 작업의 이해 - 콜백함수, Promise, async/await, axios 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 비동기 작업의 이해 동기적 처리는 요청이 끝날 때까지 기다리는 동안 중지 상태가 되므로 다른 작업을 할 수 없습니다. 즉, 요청이 끝난 후 다음 작업이 실행되는 것 하지만 비동기 처리는 웹 애플리케이션이 멈추지 않으므로 동시에 여러 요인을 처리할 수 있고, 기다리는 동안 다른 함수를 호출할 수도 있습니다. https://chanychu.tistory.com/281 Javascript) 동기식 / 비동기식 - Timer API, DOM 관련 이벤트 처리, DOM 연속 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. 동기.. 2022. 11. 24.
React) 리액트 라우터로 SPA 개발하기 - useNavigate, NavLink, NotFound, Navigate) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 리액트 라우터로 SPA 개발하기 리액트 라우터 부가 기능 useNavigate Link 컴포넌트를 사용하지 않고 다른 페이지로 이동해야하는 상황에 사용하는 Hook Layout.js import { Outlet, useNavigate } from "react-router-dom"; // 헤더 레이아웃 const Layout = () => { const navigate = useNavigate(); const goBack = () => { // 이전 페이지로 이동 navigate(-1); }; const goArticles = () => { // 게시글 목록으로 이동 navigate('.. 2022. 11. 23.
React) 리액트 라우터로 SPA 개발하기 - 중첩된 라우트 (Outlet 컴포넌트, index props) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 리액트 라우터로 SPA 개발하기 중첩된 라우트 Articles.js import { Link } from 'react-router-dom' const Articles = () => { return( 게시글 1 게시글 2 게시글 3 ) } export default Articles; Article.js import { useParams } from "react-router-dom"; const Article = () => { const { id } = useParams(); return ( 게시글 {id} ) } export default Article; useParams Hook을 이.. 2022. 11. 23.
React) 리액트 라우터로 SPA 개발하기 - URL 파라미터와 쿼리스트링 (useParams, useLocation, useSearchParam Hook) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 리액트 라우터로 SPA 개발하기 URL 파라미터와 쿼리스트링 URL 파라미터 예시 : /profile/chany 쿼리 스트링 예시 : /articles?page=1&keyword=react 이처럼 페이지 주소를 정의할 때 유동적인 값을 사용해야할 때가 많습니다. URL 파라미터 주소 경로에 유동적인 값을 넣는 형태 주로 ID 또는 이름을 사용해 특정 데이터를 조회할 때 사용 src/pages/Profile.js import { useParams } from "react-router-dom"; const data = { chany: { name: '박채니', description: '리.. 2022. 11. 23.
React) 리액트 라우터로 SPA 개발하기 - 라우팅이란, SPA/MPA의 차이, Route 컴포넌트, Link 컴포넌트 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 리액트 라우터로 SPA 개발하기 라우팅이란? - 사용자가 요청한 URL에 따라 알맞은 페이지를 보여주는 것 예를 들어, 블로그 애플리케이션을 만든다고 가정하였을 때 아래와 같은 페이지들이 필요할 것입니다. 글쓰기 페이지 포스트 목록 페이지 포스트 상세보기 이처럼 여러 페이지로 구성된 웹 애플리케이션을 만들 때 페이지 별로 컴포넌트를 분리하며 프로젝트를 관리하기 위해 라우팅 시스템이 필요합니다. 리액트의 라우트 시스템을 구축하기 위해선 아래 두 가지 중 선택할 수 있습니다. 리액트 라우터 : 리액트 라우팅 관련 라이브러리 중 가장 오래됐고, 많이 사용함. 컴포넌트 기반으로 라우팅 시스템.. 2022. 11. 22.
React) immer - 사용법 및 useState 함수형 업데이트와 immer 함께 쓰기 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다. immer - 구조가 복잡한 객체도 매우 쉽고 짧은 코드를 사용해 불변성을 유지하며 업데이트해주는 라이브러리 리액트는 상태를 업데이트할 때 반드시 불변성을 유지해야합니다. 하지만, 아래와 같이 객체의 구조가 깊어진다면 업데이트하는 것은 굉장히 번거로울 것입니다. immer 사용하지 않을 때 예시 const object = { somewhere: { deep: { inside: 3, array: [1, 2, 3, 4] }, bar: 2 }, foo: 1 }; // somewhere.deep.inside 값을 4로 바꾸기 let nextObject = { ...object, somewhe.. 2022. 11. 21.