리액트 썸네일형 리스트형 [웹 프로젝트] 낚시 관련 사이트 제작 - 개발환경 세팅(1) 개발자로 근무하면서 게임보단 점점 코딩에 몰두하게 되어 활동성 있는 취미를 찾던 중에, 낚시를 접하게 됐는데, 몇명이서 하든 혼자만의 시간이 많아져 많은 것들을 집중적으로 생각하는데 도움이 되었다. (사실 다 필요없고 그냥 혼자 다 만들어보고 싶어서 만드는) 그래서 내가 가진 능력으로 낚시 관련 사이트를 만들어보는 게 어떨까 해서 시작하게 된 것이 '월척이오'이다. 월척이오의 사이트 목적은 젊은이들의 낚시법을 위한 커뮤니티 사이트이다. 기초적인 낚시 종류 강좌부터, 낚시 포인트, 관련 장비 등등 낚시에 관한 건 모조리 다 때려 넣을 생각이다. 사실 내가 가진 능력으로 뭘 할 수 있다라는 그런 자부심과 마음 깊은 고양감이 이렇게 생각할 수 있는 원동력이 된 듯하다. 이러한 방향을 제시해 주고, 충고를 해서.. 더보기 [Javascript] React 디자인 패턴 design pattern presentational & container 로직을 수행하는 컴포넌트, UI를 보여주는 컴포넌트를 분리 앱의 기능과 UI구분이 쉬워짐 같은 state를 다른 container에게 props를 내림으로써 공유 로직수행, markup이 다른 컴포넌트에서 하기 때문에 유지보수가 쉽고, 재사용성이 뛰어남. markup 변경에 매우 유연함 동일한 마크업, 컨테이너 레이아웃(header, footer 등)은 반복해서 작성하지 않고 구현 가능 presentational 사용자가 직접 보고 조작하는 컴포넌트 state를 직접 조작하지 않고, container component가 내려준 props함수에 의해 state를 변경 그에 따라 useState, useCallback 등 state관련 훅이 없어야함 상태를 거의 가지지 않으며, 상태를 가진다면 데이터에 관한.. 더보기 [Javascript] React 디자인 패턴 design pattern - atomic 분자단위로 UI 컴포넌트를 쪼개어 페이지를 구성하는 패턴 atoms - molecules - oraganisms - templates - pages 단계로 컴포넌트들을 결합 UI의 시맨틱적으로 가장 작은 단위의 요소들부터 쪼개서 조합하고, 기능적인 부분까지 결합하는 패턴 단계를 역으로 하여 분리시켜도 무방 간단명료하고 UI 복잡도를 억제, 중복컴포넌트를 방지하고 개발소요시간을 단축한다. 컴포넌트 개념에 대한 높은 이해도를 필요로 하기 때문에 러닝커브가 매우 높음 사소한 UI를 변경해야하는 컴포넌트 체계에 유연하지 않음 리액트 컴포넌트를 전반적으로 잘 이해해야하기 때문에 협업 시 쉽지않음 // Button.js import React from 'react'; const Button = (pr.. 더보기 [Javascript] React - Recoil 상태관리 라이브러리 Atom 상태의 단위를 나타냄 Atom이 업데이트 되면 해당 Atom을 구독하고 있던 모든 컴포넌트들이 새로운 값으로 Re-render됨 또한 여러 컴포넌트에서 같은 Atom을 구독하고 있으면 그 컴포넌트들이 상태를 동일하게 공유 고유한 key와 기본값(default)을 정의해야 함 const productState = atom({ key: 'productState', // 이 값은 어떤 Atom이든지 Unique해야함 default: '', }); 동적 key를 가진 다른 상태를 생성하는 것도 가능 여러개의 비슷한 데이터를 다룰 때 리스트에 보관하는 대신 각자의 상태가 독립되어 변경한 아이템 하나만이 업데이트 하게 됨 (0.0.8버전 이후로 atomFamily라는 이름으로 .. 더보기 [Javascript] React Hook Guide useState 가장 기본적인 함수형 컴포넌트의 Hook API 데이터를 담거나 setter를 이용하여 업데이트 정의 시, 값을 가져올 변수와 설정할 변수(setter)를 deps에 적재 주의할 점은 값을 가져올 변수와 설정할 변수의 명명규칙 설정할 변수를 set+가져올 변수에 카멜케이스로 명명 useState()내에는 String이면 '', Integer이면 0, Object면 {} 등. 사용할 타입에 따라 default값을 입력 함수 내에서 값을 업데이트 시 setName를 사용 // index.js import React, { useState } from 'react'; const Index = () => { const [name, setName] = useState(&.. 더보기 이전 1 다음