React에서 styled-components로 image 넣을때..
·
Programming/React
다음 경로의 이미지를 src 파일에 있는 다른 파일이, styled-components를 이용해 background-image 속성을 사용한다고 한다면.. 일단 import를 해와야 한다. import Bg from './img/Bg.jpg'; 라고 한 다음. styled-components에서 export const Outbox = styled.div` background: url(${Bg}); ` 다음과 같이 작성하면 된다. 사실 엄청 간단한건데.. 왜 안되는지 해메고 있었다. 아니 css는 자동으로 주소 읽어와 주던뎅..
React-Redux 개념 잡기 #1
·
Programming/React
소개 Redux는 상태(state) 관리 라이브러리이다. Redux는 컴포넌트들의 상태 관련 로직들을 다른 파일들로 분리시켜서 효율적으로 상태를 관리할 수 있다. 특히, 컴포넌트끼리 상태를 공유해야 할 때, 기존의 여러 컴포넌트를 거쳐 전달해야 하는 방식과는 달리 Store를 통해 쉽게 상태 값을 전달할 수 있다. Redux는 React 외에도 jQuery 혹은 Angular를 사용하는 애플리케이션에서도 사용할 수 있지만, 이 글에서는 React 기반으로 서술할 것이다. Redux는 글로벌 상태 관리에 효과적이다. 굳이 '글로벌 상태 관리'라는 말을 하는 이유는 굳이 Redux를 사용할 필요는 없기 때문이다. 간단한 애플리케이션이라면, Redux를 사용하지 않더라도 상태를 관리하는데 큰 어려움 겪지 않을..
React Flux 란?
·
Programming/React
Flux란? Flux는 Facebook에서 클라이언트-사이드 웹 어플리케이션을 만들기 위해 사용하는 어플리케이션 아키텍쳐이다. 또는 애플리케이션에서 데이터를 다루기 위한 패턴이라고 할 수 있다. Flux 이전 방식(MVC)의 문제점 Facebook에서 React를 사용할 때, Flux이전에는 다음과 같은 방식으로 데이터를 처리하였다. 어떠한 Action이 입력되면 Controller는 Model이 지니고 있는 데이터를 조회하거나 업데이트 하며, 이 변화는 View에 반영된다. 사용자와의 상호작용(UI)이 뷰를 통해서 일어나기 때문에, 사용자의 입력(input)에 따라 뷰가 가끔씩 모델을 업데이트 할 수도 있다. 이러한 디자인 패턴은 작은 어플리케이션에는 큰 문제없이 작동한다. 하지만, Model과 Vie..
MVC(Model-View-Controller) 디자인 패턴 이란?
·
Programming/React
MVC(Model-View-Controller) 패턴 이란? MVC 패턴은 여러 디자인 패턴 중 하나입니다. 디자인 패턴들은 좀 더 나은 유지보수를 위해 만들어진 특정한 방법들인데, 그 중 하나가 MVC 패턴입니다. MVC 패턴은 어플리케이션 또는 프로젝트의 구성을 Model, View, Controller 세 가지의 구성요소로 나눈 패턴입니다. 모델(Model) 모델(Model)은 백그라운드에서 데이터에 관한 로직을 처리하는 역할을 담당합니다. 모델은 컨트롤러에 의해 호출되어 데이터베이스에 데이터를 저장하거나, 데이터베이스에서 데이터를 가져와 뷰가 사용할 수 있는 형태로 컨트롤러에 반환합니다. 다음과 같은 규칙을 지켜주어야 합니다. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. 뷰나 컨트..
React Lifecycle #2 (Update와 Unmount에 대해)
·
Programming/React
업데이트(갱신, Update) 이벤트 컴포넌트 내부의 state나 props가 변경이 되면 업데이트 이벤트가 발생하며 리렌더링 된다. 컴포넌트가 업데이트 될 때, 다음과 같은 메서드가 실행된다. new Props / setState() / forceUpdate() getDerivedStateFromProps shouldComponentUpdate render getSnapshotBeforeUpdate componentDidUpdate New Props 상위 컴포넌트로부터 갱신된 props를 받는 경우가 있다. 이 때, 갱신된 props를 받은 컴포넌트들은 다시 렌더링되며, update cycle을 진행하게 된다. setState 컴포넌트들은 공통적으로 setState() api를 제공한다. 현재 자신이 ..
React Lifecycle #1 (lifecylce설명과 Mount)
·
Programming/React
서론 React는 라이프사이클(생명주기, Lifecycle) 이벤트를 기반으로 컴포넌트의 동작을 제어하고 사용자 정의를 할 수 있다. 이러한 라이프사이클을 이용하여 우리는 React를 사용해, UI를 화면에 보이게 하고, UI를 업데이트 또는 교체하며, UI를 화면에서 제거할 수 있다. React 라이프사이클 이벤트 라이프사이클 이벤트를 분류해보면 다음과 같다. 마운트(생성, Mounte) 이벤트: React 엘리먼트를 DOM 노드에 추가할 때 발생한다. 업데이트(갱신, Update) 이벤트: 속성이나 상태가 변경되어 React 엘리먼트를 갱신할 때 발생한다. 언마운트 (제거, Unmount) 이벤트: React 엘리먼트를 DOM에서 제거할 때 생긴다. 마운트(생성, Mounte) 이벤트 컴포넌트 함수가..
React를 다루면서 생긴 궁금증들..
·
Programming/React
1. 어떤 상황에서 함수형 컴포넌트와 클래스형 컴포넌트 둘 중 무엇을 사용하는 것이 좋을까? 2. 왜 render가 두 번 실행되는 것인가? 3. [{...}, {...}, ...] 이런 구조로 작성된 state는 props로 data라는 이름을 써야하던데, 이런 구조가 여러 개일 경우에는 어떻게 해야 하는가? 4. 컴포넌트는 얼마나 무엇을 기준으로 얼마나 쪼개야 하는가? 5. css는 각 컴포넌트 마다 파일을 따로해주어야 하는가? 1. 함수형 컴포넌트 스타일에 관해. 2. React Life Cycle 이란? 3. hook란 무엇이며 왜 생겨났는가? X. redux란 무엇이며 왜 생겨났는가?
React 개념 잡기 #4 (JSX와 규칙)
·
Programming/React
JSX 소개 JSX는 Javascript를 확장한 문법입니다 UI가 어떻게 생겨야 하는지 설명하는 역할을 합니다 JSX 규칙 1. 태그가 비어있다면 />을 이용해 태그를 바로 닫아주어야 합니다. 2. 두 개 이상의 태그는 무조건 하나의 태그로 감싸져 있어야 합니다. 3. 태그를 작성 할 때 이름 없이 작성하면 Fragment가 만들어 집니다. Hello, React!! 안녕하세요 Hello, React!! 안녕하세요 4. Javascript 표현식을 사용할 때는 중괄호{ }를 이용합니다. const name = 'Josh Perez'; const element = Hello, {name}; 5. class는 className으로 표기해야 합니다. 6. 주석은 {/* */} 형태로 작성해야 합니다.