> For the complete documentation index, see [llms.txt](https://pasahu1805.gitbook.io/react-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pasahu1805.gitbook.io/react-1/master.md).

# React

## 1.Node.js

{% embed url="<https://nodejs.org/ko/>" %}

![](/files/-MNb6gaB7ilObenEbiQh)

### 학원용(node-v13.14.0-x64.msi)

{% embed url="<https://nodejs.org/download/release/v13.14.0/>" %}

#### 버전이랑 체크하기&#x20;

![](/files/-MNbU8d6LC0TvZm-VNIy)

## 2.npm 설치

노드 패키지 매니저(npm)

```
npm -v
```

### zeplin 설치

{% embed url="<https://zeplin.io/>" %}

## 3.React Developer Tools 설치(크롬앱스토어)

## 4.git 설치

{% embed url="<https://git-scm.com/>" %}

## 5.리액트 앱 만들기

명령 프롬프트를 이용하여 현재 만들고 싶은 폴더로 이동합니다.

```
npx create-react-app portfolio
```

![](/files/-MNbUV0IMKwazZ4supjh)

## 6. 기본 셋팅하기

### App.js

```jsx
import React from 'react';

function App(){
  return <h1>Hello</h1>
}

export default App;
```

### index.js

```jsx
import React from 'react';
import ReactDom from 'react-dom';
import App from './App';

ReactDom.render(<App />, document.getElementById('root'));
```

### index

```jsx
<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="Web site created using create react Portfolio"/>
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <title>React Portfolio</title>
  </head>
  <body>
    <div id="root"></div> 
  </body>
</html>

```

## 7. 컴퍼넌트 만들기

![](/files/-MNgbunaYkXjBlXtwz3l)

![](/files/-MNgcMVGsa_tuQQlA5xR)

### Visual Studio Code 에 복붙

![](/files/-MNgcUVhMOFJLsoflQCs)

## 8. props 개념 익히기

## 9. 라우터 만들기

리액트는 싱글 페이지로 구성되어 있기 때문에 가상의 주소를 만들어 주어야 합니다. 라우터를 이용하여 URL을 통해 특정 컴퍼넌트를 불러와서 사이트를 구성할 것입니다. 우선 react-router-dom 패키지를 설치합니다.

```jsx
npm install react-router-dom
```

```jsx
import React from 'react';
import Main from './routes/Main';
import About from './routes/About';
import Reference from './routes/Reference';
import Script from './routes/Script';
import Animation from './routes/Animation';
import Site from './routes/Site';
import Contact from './routes/Contact';
import Header from './components/Header';
import { HashRouter, Route} from 'react-router-dom';

function App(){
  return (
    <HashRouter>
      <Header />
      <Route path="/" exact={true} component={Main} ></Route>
      <Route path="/about" component={About} ></Route>
      <Route path="/reference" component={Reference} ></Route>
      <Route path="/script" component={Script} ></Route>
      <Route path="/animation" component={Animation} ></Route>
      <Route path="/site" component={Site} ></Route>
      <Route path="/contact" component={Contact} ></Route>
    </HashRouter>
  )
}

export default App;

/* 
라우터를 연동하여 주소를 만들어줍니다.
App.js 에 import 해줍니다.
```

![src폴더 routes 폴더를 만들어 7가지의 js 만들기](/files/-MNvBu_QrF50Hf7bseBD)

## 10. scss 설치하기

```jsx
npm install node-sass
```

```jsx
npm uninstall node-sass // 버전 호환 안될시 삭제후 재설
npm install node-sass@4.14.1
```

## 11.npm install axios 설치하기

```jsx
npm install axios
```

## 12.vue 설치하기

```jsx
npm i -g @vue/cli
```

### 명령 프롬프트 사용하여 설

![](/files/-MOZv4DoQNxa9pJ37W5X)

```jsx
vue create _______
```

![](/files/-MO_0hY7WbYQ6pC5BEh1)

![](/files/-MO_6pAvqqAQDNoGIp2H)

![](/files/-MO_6g5M7Sudh0b0FEQW)

![](/files/-MO_6aw5kk161rd1B5Zm)

![](/files/-MO_6UQ2zmINseFBBuCu)

## firebase 배

Visual Studio =>  Task Explorer 다운

TERMINAL , 명령프롬프트 사용

```jsx
npm install -g firebase-tools

firebase login -> Y

firebase init -> Y -> Hosting -> use an existing project -> vue900.class -> dist -> N -> N
firebase init -> Y -> Hosting -> use an existing project -> react999.class -> build -> N -> N
```
