Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irenechoii/react_study
2024 웹프레임워크 React
https://github.com/irenechoii/react_study
react web-framework
Last synced: about 2 months ago
JSON representation
2024 웹프레임워크 React
- Host: GitHub
- URL: https://github.com/irenechoii/react_study
- Owner: IreneChoii
- Created: 2024-09-02T10:54:34.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T00:18:48.000Z (3 months ago)
- Last Synced: 2024-10-29T00:26:16.833Z (3 months ago)
- Topics: react, web-framework
- Language: JavaScript
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 전체 목차
[React 환경세팅](#react-환경세팅-for-m2)
[React에 대한 지식](#react-궁금증-해결)
# React 환경세팅 for M2
### 📋 목차
1. [NVM(Node Version Manager) 설치](#1-nvmnode-version-manager-설치)
2. [Node.js 설치](#2-nodejs-설치)
3. [yarn 설치](#3-yarn-설치)
4. [React 프로젝트 생성](#4-리액트-프로젝트-생성)
## 1. NVM(Node Version Manager) 설치
⭐️**참고 링크**⭐️ [ https://github.com/nvm-sh/nvm ]
### How to install?
**Step One**
```
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
``````
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
```
**Step Two**
```
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
```
**Example**
```
$ nvm install 20 # Node.js 20 LTS 버전 설치
$ npm use 20 # Node.js 20 버전 사용$ npm install -g [email protected]
```
**설치 및 버전 확인**
```
$ nvm --version$ node -v
$ npm -v
```
## 2. Node.js 설치### How to install?
⭐️**다운로드 링크**⭐️
[ https://nodejs.org/en/ ]
### 설치하는 이유?
**create-react-app** 라이브러리 때문
→ node.js를 설치하면 "**npm**"을 사용할 수 있음
## 3. yarn 설치### How to install?
```
$ brew update
$ brew install yarn
$ yarn config set prefix ~/.yarn
```**확인**
```
$ yarn --version
```
## 4. 리액트 프로젝트 생성### Visual Studio Code
```
$ npx create-react-app [프로젝트 이름]
$ cd [프로젝트 이름]
$ npm start
```#### React App 생성 [npx create-react-app [프로젝트 이름]]
#### React 실행 [npm install]
#### Success!
### IntelliJ
# React 궁금증 해결
### App.js / index.html / index.js의 관계
### node_modules 폴더
: 라이브러리를 전부 모아둔 폴더
### public 폴더
: static 파일 보관함 (public 안의 파일들은 compile을 할 때, 압축이 되지 않음)
### src 폴더
: source code 보관함
### package.json
: 내가 설치한 라이브러리(및 버전) 목록
## JSX 문법
### 1. 태그에 class를 주고 싶으면?
```jsx
```
### 2. React에서 Data Binding 쉽게 하는 방법
: { ***변수명*** } | 괄호 안에 변수 넣어주기
: { ***함수명()*** } | 괄호 안에 함수 넣어주기
```jsx
function App() {let posts = "React 공부 방법 1"
function 함수() {
return 100;
}return (
React 개발 Blog
{ posts }
// 변수 데이터바인딩
{ 함수() }
// 함수 데이터바인딩
);
}
```
: { img src = { ***이미지명*** } } | 괄호 안에 이미지 넣어주기
```jsx
import logo from './logo.svg' // 이미지 importfunction App() {
return (
React 개발 Blog
// 이미지 데이터바인딩
);
}
```
: **src** / **id** / **href** 등의 속성에도 데이터바인딩 가능!
### 3. JSX에서 style 속성 집어넣을 때
: style={ object 자료형으로 만든 스타일 }
```jsx
function App() {
let posts = "reactReact"
// className에 데이터바인딩
// div 태그에 데이터바인딩
React 재미있다!
}
``````jsx
function App() {let posts = "React 공부 방법 1"
let styles = {color: 'pink', fontSize : '20px'}
function 함수() {
return 100;
}return (
React 개발 Blog
{posts}
{함수()}
이건 태그 데이터 바인딩
이건 속성 데이터 바인딩
);
}
```
## useState
* ES6 destructuring 문법
```jsx
function App() {// ES6 destructuring 문법
let [title,changeTitle] = useState('개발 언어 추천'); // [state 데이터,state 데이터 변경 함수]return (
개발 블로그
{ title }
10월 29일 화요일 발행
)
}
```
```jsx
function App() {// ES6 destructuring 문법
let [title,changeTitle] = useState(['개발 언어 추천', '개발 툴 추천']); // [state 데이터,state 데이터 변경 함수]return (
개발 블로그
{ title }
10월 29일 화요일 발행
{ title[0] }
11월 3일 화요일 발행
{ title[1] }
11월 12일 화요일 발행
)
}
```
#### state
1. 변수 대신 쓰는 데이터 저장공간
2. useState()를 사용해 만들어야함
3. 문자, 숫자, array, object 모두 저장가능
- 변경이 자주 필요한 부분에 사용!#### state 장점
- state에 데이터를 저장하면, state기 변경될 때, HTML이 자동으로 rendering 됨
- 즉, 새로고침을 하지 않더라도 변경사항이 smooth하게 반영됨
## 📍Tip📍
Terminal의 Warning을 없애고 싶다면?
```
/* eslint-disable */
```