일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- db
- Spring
- Spring Boot
- ReactJS
- elasticsearch
- Oracle
- tool
- jsp
- Web Server
- php
- Gradle
- Design Patterns
- Spring Batch
- Git
- redis
- springboot
- devops
- java
- javascript
- it
- MySQL
- laravel
- 맛집
- 요리
- AWS
- linux
- ubuntu
- jenkins
- JVM
- IntelliJ
- Today
- Total
목록ReactJS (22)
아무거나
Redux 리덕스는 상태관리 라이브러리이다. 리덕스는 우리가 만드는 컴포넌트들의 상태 관련 로직들을 다른 파일들로 분리시켜서 더욱 효율적으로 관리 할 수 있습니다. 또한, 컴포넌트끼리 상태를 공유하게 될 때 여러 컴포넌트를 거치지 않고도 손쉽게 상태 값을 전달 할 수 있다. 아래 그림을 참고하자. 왼쪽은 Redux를 적용하지 않은것이고, 오른쪽은 Redux를 사용한것이다. 위의 이미지의 왼쪽 그림에서 만약 A에서 B로 데이터가 변경되거나 렌더를 다시해야 될 때 과정은 화살표 방향처럼 연결되어 있는 다른 컴포넌트들에게 상태가 전달된다. 이러한 나뭇가지식 관리를 하게 된다면 향 후 관리범위가 많아져서 골치아픈 상황이된다. 이러한 부분을 개선하고자 Redux를 사용하게 된 것이다. Redux는 Applicat..
Typescript with React + Redux 프로젝트 생성 먼저 타입스크립트 기반 프로젝트를 생성 create-react-app react-typescript-redux-example-1 --scripts-version=react-scripts-ts // 실행방법 cd react-typescript-redux-example-1 yarn start 원활한 개발 환경을 위하여 tslint 설정값을 수정하자. [tslint.json] { "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"], "linterOptions": { "exclude": [ "config/**/*.js", "node_modules/**/*.ts"..
React-Router React-Router란 특정 URL로 유저가 접근했을 때, URL을 해석하여 기존에 개발자가 선언한대로 요청한 URL에 알맞는 React Component를 렌더링해서 보여주는 역할 Facebook 공식 라이브러리는 아니지만 React 관련 Router 라이브러리 중에서는 가장 많이 사용 React Router V4 React Router의 최신버전 React Router v3, 그 이하와는 API가 다름 V3도 여전히 유지보수 진행중 대부분의 동작이 React Component로 이루어짐 React Router 설치하기 전에.. 기존에 create-react-app이 설치되어있어야 한다. create-react-app . --scripts-version=react-scripts..
Component Props, State Props 컴포넌트 외부에서 컴포넌트로 넣어주는 데이터(함수도 가능) 컴포넌트 내부에서는 자신의 props를 변경할 수 없다. 물론 돌아가면 가능은 하다. 컴포넌트 외부에서 props 데이터를 변경하면, render가 다시 호출된다. State 컴포넌트 내부의 데이터 클래스의 프로퍼티와는 다르다. 프로퍼티는 변경한다고 render가 호출되지 않는다. 생성자 혹은 프로퍼티 초기 할당으로 state를 초기 할당 해줘야 한다. 내부에서 변경을 하더라도 setState 함수를 이용해야 render가 호출된다. 초기 세팅시 주의할 점(state 초기 할당 관련) [index.tsx] import * as React from 'react'; import * as ReactD..
React 프로젝트 생성 Create React App Create React App은 React의 작업 환경을 자동으로 구축해준다. Dan Abamov가 만들었다(Redux를 만든사람으로 유명하다) 프로젝트 생성 create-react-app {프로젝트명} 개발 서버 실행 npm run start 프로덕션 빌드 npm run build 테스트 npm run test 프로젝트의 구조가 바뀜(ex:위험도가 높으므로 사용을 지양) npm run eject pwa(Progressive Web App) 적용 Create React App 설치 create-react-app global 설치 npm i create-react-app -g // create-react-app {프로젝트명} 으로 설치 // .은 현재..
React 해당 내용을 보기전 react기본 의 react-app-example-1 부터 선행하시면 좋습니다. React? React Component: 작업의 단위 Virtual DOM: Virtual DOM으로 그린다음에 변경 되기 전의 상황과 변경 된 후의 Virtual DOM의 State들을 비교해서 바뀐부분(=diff)만 추출해내서 그 부분만 다시 render를 해주는것이 react의 핵심이다. (State Change -> Compute Diff -> Re-render) JSX Javascript XML - JSX 자체는 문법 리액트에서는 JSX.Element로 그려질 Component를 표현한다. React.createElement 함수를 통해서도 JSX.Element 를 만들수 있다. [J..
Update와 Delete 업데이트 기능 구현 src/component/CreateContent.js를 복사하여 UpdateContent.js 로 생성한다. [UpdateContent.js] import React, { Component } from 'react'; class UpdateContent extends Component { render() { console.log('UpdateContent render') return ( Update ) } } export default UpdateContent; App.js에서 UpdateContent를 사용하기 위해서 mode에 Update관련 로직을 추가를 해준다. [App.js] import React, { Component } from 'react'..
Create 버튼 클릭시 저장 mode 변경 기능 이번 내용에서는 생성에 대한 부분을 만들것이다. 즉, Create 버튼을 클릭하면 Content의 목록에 새로운 값이 추가될것이다. App.js 코드를 아래와 같이 버튼을 추가하자. [App.js] ... return ( ... {/*추가*/} create update ); ... 위의 추가된 ul태그 안에 버튼들을 Component로 분리시켜보자. 먼저 src/components/Control.js 파일을 만들고 아래 내용을 추가하자. [Control.js] import React, { Component } from 'react'; class Control extends Component { render() { {/* 아래 ul태그는 App.js에서 선..
Event 이벤트 설치 아래 이미지에서 색칠된 제목인 modify title을 클릭했을 떄 PageHeader태그 바깥쪽에있는 App의 state를 바꾸는 작업을 시작하자. 우선 이해를 돕기 위하여 PageHeader의 Component를 풀어서 그걸 그대로 App에 도입하여 이벤트를 구현하자. PageHeader에서 아래 코드를 복사 ... {this.props.title} {this.props.subTitle} ... App.js에 1번의 복사한 코드를 아래와 같이 붙여넣고 PageHeader를 주석처리 한다. 그리고 props를 사용하는 부분을 state로 변경한다. ... render() { return ( {/**/} {this.state.header.title} {this.state.heade..
Component 두번째 state props는 사용자가 Component를 사용하는 입장에서 중요하며 state는 props의 값에 따라서 내부의 구현에 필요한 데이터들이 state이다. 즉, 사용하는 쪽(=props)과 구현하는 쪽(=state)을 격리시켜서 양쪽의 편의성을 각자 도모하는것이다. Props => Component(State) state 사용 [App.js] import React, { Component } from 'react'; import PageNav from './components/PageNav'; import PageHeader from './components/PageHeader'; import PageArticle from './components/PageArticle'..