Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 큐넷 사대보험
- 벤큐 EX2510S 후기
- 시험장소변경
- 광명김치찌개
- 큐넷 시험 변경
- 큐넷 사실확인서
- 큐넷 4대보험미가입
- 큐넷 폐업
- 큐넷 시험장소 변경
- 경기도광명맛집추천
- vue eslint설정
- vue prettier
- 4대보험미가입 경력증명서
- 큐넷 필기시험장소 변경
- HTML CSS Support
- 큐넷 폐업 사대보험 미가입
- EX2510S음질
- eslint prettier차이
- vuetify 설치
- 정보처리기사 시험장도 변경
- 벤큐 EX2510S
- vue 로그인
- BENQ EX2510S REVIEW
- vue.js 로그인
- 서울근교두루치기
- 경기도광명돼지집
- vue 설정
- 큐넷 4대보험
- 벤큐 EX2510
- 광명돼지집
Archives
- Today
- Total
코딩 발걸음 - 한발두발개발
React.js 특징 및 기초 세팅 본문
728x90
React의 특징 3가지
1.Component
UI를 구성하는 개별적인 뷰 단위이다. 전체 앱은 Component들이 결합해서 만들어 지게 됨
무엇보다 Component는 다른 부분, 혹은 다른 앱에서도 쉽게 재활용이 가능함.
2.JSX
자바스크립트 확장 문법으로 보통 ES6를 이용하여 작성한다.
3.Virtual DOM
리액트의 가장 큰 특징.
뷰에 변화가 생길때 실제DOM에 적용되기전 가상의 DOM에 먼저 적용을 시킨뒤 최종적인 결과를 DOM으로 전달해줌
2.기초 세팅
1. node 다운로드
2. vs code 다운로드
3. npx create-react-app [프로젝트 명]
[추후 더 깊히 찾아볼 예정]
*잠깐 npm과 npx의 간단한 차이를 보자면 npx 같은 경우 언제나 최신 버전을 이용 할 수 있다.
npm으로 설치 했을 경우 모듈을 로컬에 저장하고 업데이트를 일일이 해줘야 하는 방면 npx을 이용하여 설치할 경우 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만을 임시로 불러와 실행시킨 후 다시 그 파일은 없어지는 방식이다.
4. App.js에 코드 작성
import './App.css';
import { useState } from 'react';
function App() {
return (
<div className="App">
<h2>
Hello world!
</h2>
</div>
);
}
export default App;
5. 변수 클래스 등 사용법
import './App.css';
import { useState } from 'react';
function App() {
let [member, member_change] = useState(['류현진','김하성','최지만']);
let [like, like_change] = useState([0,0,0]);
let [title, title_change] = useState('인기투표');
let [user, user_change] = useState('황태은');
let [message,message_change] = useState('');
return (
<div className="App">
{/* 일반 자바스크립트의 class = className */}
<h1 className="title">{title}</h1>
<button onClick={ () => title_change('사전투표')}>타이틀 변경하기</button>
<div>
<h2>{member[0]} <span onClick={ () => like_change([like[0]+1, like[1], like[2]])}>😊</span>{like[0]}</h2>
</div>
<div>
<h2>{member[1]} <span onClick={ () => like_change([like[0], like[1]+1, like[2]])}>😊</span>{like[1]}</h2>
</div>
<div>
<h2>{member[2]} <span onClick={ () => like_change([like[0], like[1], like[2]+1])}>😊</span>{like[2]}</h2>
</div>
{/* props를 디용한 데이터바인딩 [component에서 사용할 key명]=[value] */}
응원하는 선수에게 한마디 남기기
<br/>
<input type="text" onChange={ (e)=> message_change(e.target.value) }/>
{/* <button onClick={}>저장</button> */}
<Footer name={user}></Footer>
</div>
);
}
function Footer(props) {
return(
<div>
<h3>
{props.name}님, 참여해 주셔서 감사합니다.
</h3>
</div>
);
}
export default App;
참고 자료
1. useState : https://react.vlpt.us/basic/07-useState.html
2.componenet 와 props
https://ko.reactjs.org/docs/components-and-props.html
3.input
'개발 > React.js' 카테고리의 다른 글
React - 함수형 Component 와 클래스형 Component의 차이 (0) | 2021.07.16 |
---|---|
React Api를 이용하여 Database에서 Data 가져오기 (0) | 2021.07.15 |
Client 서버와 Express 서버 동시에 실행하기 (feat. Concurrently) (0) | 2021.07.14 |
리액트 와 CSide Rendering vs Server Side Rendering (CSR SSR 차이) 그리고 MPA 와 SPA (0) | 2021.07.14 |
리액트 Router (Feat. react router dom) (0) | 2021.07.13 |