일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- react
- 인덱스된 데이터베이스
- vite
- js
- 슬라이드
- Github Pages
- banner
- 리액트
- dnd-kit
- React.js
- HTTP
- deploy
- slide
- 비동기 함수
- 리액트배포
- github
- 렌더링
- 배포
- 자바스크립트 배열
- 배열
- 웹스토리지
- 웹사이트
- 배너 슬라이더
- IndexedDB
- javascript
- 웹
- 슬라이더
- array
- 자바스크립트
- 배너
Archives
- Today
- Total
Somedding
React.js란? 본문
react.js란, 자바스크립트 라이브러리의 하나로서 사용자 인터페이스를 만들기 위해 사용됐다.
(출처 : https://ko.wikipedia.org/wiki/리액트_(자바스크립트_라이브러리))
즉, 사용자가 조작하기 위한 UI를 만드는 것을 도와주는 라이브러리이다.
(추가)https://duyaan.tistory.com/13
라이브러리 vs 프레임워크
라이브러리란? - 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 집합이다. - 미리 작성된 코드, 변수, 함수, 클래스가 포함될 수 있다. - 개발자가 개발하는데 필요한
duyaan.tistory.com
React.js의 주요 특징
1. 컴포넌트(Component)
- 컴포넌트란 화면을 이루는 작은 요소들이다.
- 리액트에서는 이러한 컴포넌트들을 조립해서 화면을 구성한다.
- 물론 다른 화면에서 재사용이 가능하다.
- 개념적으로 javascript의 함수와 유사하다. (‘props’라고 하는 임의의 입력을 받은 후, 화면에 어떻게 표시되는지를 기술하는 react element를 반환한다.)
- '함수형 컴포넌트'가 있고, '클래스형 컴포넌트'가 있다.
함수형 컴포넌트 예시)
function Welcome(props){
return <h1>Hello, {props.name}</h1>;
}
클래스형 컴포넌트 예시)
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
2. 단방향 데이터 흐름(one-way data flow)
- 단방향 바인딩(one-way binding)
- 리액트에서는 데이터가 한 방향으로만 흐르는 흐름을 가진다.
- 양방향 바인딩의 경우엔 코드의 양이 줄어드는 대신에, 프로그램의 규모가 커질수록 데이터의 흐름을 추적하기 힘든 반면, 단방향 바인딩은 복잡해도 데이터 흐름을 파악할 수 있어서 데이터 흐름의 이해와 관리에 용이하다.
- 보통 props라 불리는 속성들이 부모 컴포넌트로부터 전달된다.
- 컴포넌트들은 props을 하나의 불변의 값(javascript의 객체)들로 받는다.
3. props와 state
- props와 state는 일반 javascript의 객체로서, 리액트에서 데이터를 다룰 때 사용되는 개념이다.
- 두 객체 모두 렌더링 결과물에 영향을 주는 정보를 가진다.
- props는 함수의 매개변수처럼 컴포넌트에 전달되지만, state는 함수 내에 선언된 변수처럼 컴포넌트 안에서 관리한다.
4. 가상 DOM (Virtual DOM Object Model)
- 리액트는 가상의 DOM을 만들어 차이를 계산한 다음 브라우저에 표시되는 DOM을 효과적으로 업데이트한다.
- 즉, DOM은 새로운 element가 업데이트된 경우 새로운 DOM을 생성하지만, 가상 DOM은 새로운 element가 업데이트된 경우 새로운 가상 DOM을 생성하여 이전 DOM과의 차이가 있는 부분만 업데이트한다.
5. JSX (JavaScript XML)
const element = <h1>Hello, world!</h1>;
- javascript에 xml을 추가하여 확장한 문법이다.
- html과 모습이 비슷해 보이는 JSX는 친숙한 문법을 사용하여 컴포넌트 렌더링을 구조화하는 방법을 제공한다.
- 리액트에서는 일반적으로 JSX를 사용하여 작성되지만, 꼭 그럴 필요는 없다.
글 내용 중, 잘못됐거나 더 알아야 하는 지식이 있다면 댓글로 남겨주시면 감사하겠습니다!
모두 좋은 하루 보내세요:)
'기타' 카테고리의 다른 글
UX / UI (0) | 2023.05.08 |
---|---|
정규 표현식(Regular expression)이란? (0) | 2023.04.25 |
적응형? 반응형?? (0) | 2023.02.17 |
라이브러리 vs 프레임워크 (0) | 2023.02.13 |
웹프로그래밍, 홈페이지 제작 과정 (0) | 2023.02.10 |
Comments