본 내용은 코딩애플 강의를 기반으로 정리하였습니다.

1. 리액트 프로젝트 만들기

npx create-react-app app이름

위와 같이 입력하면 파일 구조를 만들어주고,

2. 리액트 실행하기

npm start

리액트 프로젝트 미리보기를 확인할 수 있다.

3. React 코드 수정

import logo from './logo.svg';
import './App.css';

function App() {
	return (
		<div className="App">
			<div></div>
		</div>
	);
}

export default App;

왜 js파일에 html 파일이 존재하는가

이거는 html이 아니라 jsx라는 언어라서 그렇다.

jsx : js에서 쓸 수 있는 html의 대용품 같은 역할

이걸 쓰는 이유는…

원래 리액트에서 div 를 만들 때

React.createElement('div', null, 'Hello World');

위와 같이 사용해줘야 함. 이런식으로 쓰면 사람들이 너무 어려우니까 jsx로 가독성을 높이겠다.

4. jsx 수정

일반 html 처럼 class 를 먹이고 css로 수정하면 동작한다.

import logo from './logo.svg';
import './App.css';

function App() {
	return (
		<div className="App">
			<div className="black-nav">
				<h4>블로그임</h4>
			</div>
		</div>
	);
}

export default App;
.black-nav {
	display: flex;
	background: black;
	width: 100%;
	color: white;
	padding-left: 20px;
}

1) className을 사용하라

그러나 jsx 안에서는 class라고 쓰면 안되고, className 넣어야 함.

왜냐, jsx는 결론적으로는 js파일이기 때문에, class를 쓰면, js의 class로 인식되어버림 그래서 className으로 사용해줘야 한다.

2) jsx내에선 {} 안에 변수를 넣어서 출력가능

import logo from './logo.svg';
import './App.css';

function App() {
	let post = '강남 우동 맛집';

	return (
		<div className="App">
			<div className="black-nav">
				<h4 id={post}>블로그임</h4>
			</div>
			<h4>{post}</h4>
		</div>
	);
}

export default App;

위와 같이 {} 안에 post를 넣어서 사용하면 된다.

id에도 넣어서 사용할 수 있다.

이걸 데이터 바인딩..

3) style을 넣을 땐 style = { }

import logo from './logo.svg';
import './App.css';

function App() {
	let post = '강남 우동 맛집';

	return (
		<div className="App">
			<div className="black-nav">
				<h4 style={{ color: 'red', fontSize: '30px' }}>블로그임</h4>
			</div>
			<h4>{post}</h4>
		</div>
	);
}

export default App;

위와 같이 style을 사용할 때는, {} 안에 object 형식으로 넣어줘야한다.