프론트엔드

프론트엔드/TS

2. TypeScript 문법

열거형(Enum) 이넘은 특정 값들의 집합을 의미하는 자료형이다. 열거형은 숫자형 이넘, 문자형 이넘으로 나뉜다. 숫자형 이넘 enum Direction { Up = 1, Down, Left, Right, } console.log(Direction); // Up: 1, // Down: 2, // Left: 3, // Right: 4 열거형은 숫자형과 문자열형, 혹은 이 둘의 조합으로 정의될 수 있습니다. 디폴트 값으로 숫자형을 사용하며, 각 값은 자동으로 0부터 시작하여 1씩 증가합니다. 그러나 다음과 같이 수동으로 값을 지정할 수도 있습니다. 문자형 이넘 enum Direction { Up = "UP", Down = "DOWN", Left = "LEFT", Right = "RIGHT", } consol..

프론트엔드/TS

1. TypeScript 시작하기, 타입(1)

말로만 듣던 타입스크립트를 드디어 한다. 타입스크립트 쓰고싶어요. 타입스크립트는 시작부터 난관이였다. 코드들 쳐보면서 콘솔에 찍어보면서 해보고싶었는데, 그마저도 쉽게 허용해주지 않았다. 그냥 라이브러리 설치하는거 마냥 설치를 해버리면?? 보기좋게 실행이 안될 것이다. 그럼 어떻게 해야하냐?? 폴더를 새로 만든다. node.js패키지를 초기화시킨다. npm init 터미널에 해당 명령어를 입력하여 초기화시킴 @types/node 설치하기 npm i @types/node 터미널에 해당 명령어를 입력하여 Node.js 내장 기능들의 타입 정보를 담고있는 @types/node를 설치해준다. 설치하지 않으면 타입스크립트의 컴파일 과정에서 타입 검사가 실패하여 오류가 발생할 수 있다. 타입스크립트 컴파일러 설치하기..

프론트엔드/React

Custom Hook, React.lazy(), Suspense 구현하기

오늘은 과제로 React Hooks를 적용해보고, Custom Hook과 React.lazy()와 Suspense를 이용하여 React앱을 리팩토링을 해보았다. 구현해야할 것 json-server 라이브러리 사용 위의 과제에서 데이터로 사용할 것들은 서버를 구축할 필요없이 json 파일을 이용하여 REST API 서버를 구축해주는 라이브러리인 json-server 라이브러리를 사용했다. json-server는 다른 앱을 만들어볼때도 사용해보았던 기억이 있고, 그때 났었던 에러들을 깃헙 readme에 기록을 해놓은 것이 있어서 에러를 그것을 토대로 잡을 수 있었다. GitHub - plla2/React-crud: 📃 react + JSON-server 고용자들의 정보 확인,추가,삭제를 할 수 있다, db...

프론트엔드/React

13. Context?? Redux??

이번 포스팅에서는 리액트에서 전역상태를 관리할 때 많이 사용하는 Context API 와 Redux의 사용법과 장단점을 써보려고한다. 먼저, Redux는 먼저 찍먹을 해보았었다. '프론트엔드/Redux' 카테고리의 글 목록 프론트엔드 개발자가 되고픈 개미의 일대기 🐜 jhbljs92.tistory.com 일단, 전역 상태 관리는 언제할까?? 지겹도록 사용했던 useState는 지역 상태를 관리했었다. 이는 사용하는 컴포넌트 안 또는 props로 전달할때는 하위 컴포넌트에서 사용했었다. 하지만 이렇게 props로 하나씩 계속 내려주고 하기에는 한계가 있었다. 즉, 다른컴포넌트에게 props를 사용하지않고 데이터를 넘겨주고싶었던 것이다. 이때 사용했던 전역상태 관리도구가 Redux, ContextAPI 등이..

프론트엔드/React

12. useReducer 문제 실습

총 3번에 걸쳐 리액트 Hook에 대해 알아보고 문제를 풀어보았다. 이번에 풀어본 useReducer는 리덕스를 먼저 한번 봐보고 풀어서 그런지 마지막 3번문제를 제외하고는 풀만 하였다. 하지만 아직까지 dispatch, reducer, useReducer에 각각 어떤 인자를 주어야하는지 헷갈린다. 이 개념은 리덕스에서까지도 계속 쓰이니 헷갈리지않게 계속 반복해서 완벽히 알아보도록하자. 문제 1. useReducer()를 이용하여 다음과 같은 결과를 출력하는 코드를 작성하세요. 1번 코드 풀이 useReducer 함수에 넣을 reducer인 priceReducer를 선언해준다. useReducer를 이용한 state를 0으로 초기화해준다. 클릭했을 때 dispatch 함수를 실행할 함수를 선언해준다. (..

프론트엔드/React

11. useState & useEffect & useRef 문제 실습

저번 state와 event 문제 실습에 이어서 리액트의 주요 hook인 useState, useEffect, useRef 훅을 실습해보는 문제를 풀어보았다. useEffect를 잘못 사용하여 무한렌더링이 되는 문제점을 찾아서 따로 useEffect를 사용할 때, 이러한 실수를 하지 않도록 알아보았다. 또한, useRef를 통해 리렌더링이 되지 않아도 되는 부분이 리렌더링이 되는것을 막을 수 있다. 문제 1. useState()를 사용하여 다음과 같은 결과가 출력되도록 해보시오. 1번 코드 풀이 먼저, 변수를 저장할 상태 eating을 초기화. input에서 onChange 이벤트가 발생할 때 value값을 담을 상태 value를 초기화. inputHandler 함수를 정의. input에서 onChang..

프론트엔드/React

10. state & event 문제 실습

오늘은 state와 event를 실습해볼 수 있는 문제를 풀어보았다. 이번 문제들을 풀어봄으로써 useState의 사용법, 부모 컴포넌트에서 자식 컴포넌트로 props를 넘겨주기, onClick, onChange 등과 같은 이벤트주는방법 등을 더 확실히 알 수 있던 계기가 되었다. 1번 1번 문제는 비교적 간단하였다. state와 이벤트를 이용하여 아래와 같이 출력이 되게 하면되었다. 1번 코드 풀이 먼저, 클릭횟수를 저장하기 위해 counter 상태값을 만들어준다. 클릭이라는 버튼을 클릭하면 counter가 1이 증가하도록 하는 increase라는 함수를 만들어준다. increase함수에는 상태변경함수인 setCounter를 통해 상태 counter에 변화(counter+1)를 주었다. 버튼 밖으로 커..

프론트엔드/Redux

2. 구독 페이지 (리액트 리덕스)

오늘은 툴킷을 사용하지 않은 리덕스와 리액트 리덕스로 간단하게 컴포넌트 2개의 페이지를 만들어서 리덕스 활용법을 연습해보았다. 먼저, 리액트 리덕스를 사용하기 위해서는 npx create-react-app . 을 통하여 리액트앱을 생성해주고, npm i redux react-redux 위의 명령어를 통해 리덕스와 리액트 리덕스를 설치해줍니다. 설치가 완료되었다면, 리덕스와 리액트 리덕스를 사용할 준비가 끝났다 이전의 리덕스 포스팅에서 봤다시피 리덕스에서는 store, action, reducer가 매우 중요하다. 1. Redux 리덕스란? 리덕스 공홈에선 리덕스를 이렇게 설명하고 있다. Redux는 자바스크립트 앱을 위한 예측 가능한 상태 컨테이너 Redux는 여러분이 일관적으로 동작하고, 서로 다른 환..

plla2
'프론트엔드' 카테고리의 글 목록 (2 Page)