선언형
컴포넌트기반
선언적이고 컴포넌트 기반의 코드는 그 자체만으로도 웹앱의 모습을 쉽게 파악 가능하게 한다.
범용성
JavaScriptXml
{ (1+1 === 2) ? (<p>good</p>) : (<p>bad</p>) }
여러개의 html 엘리먼트를 생성할 때는 map()를 활용하고, 해당 엘리먼트 안에 key 속성을 명시해야 한다.
리액트의 컴포넌트들은 root 컴포넌트를 바탕으로 트리구조를 이룬다.
UI 재배치를 할때, 컴포넌트 별로 재배치를 해주면 간단해진다...??
npx create-react-app <project title>
대략 랜덤하게 배열의 내용을 보여주는 컴포넌트 코드
import logo from './logo.svg';
import './App.css';
function App() {
const proverbs = ['sdh', 'lyh', 'sjh', 'sjh2', 'hso', 'lsh'];
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
{proverbs[Math.floor(Math.random() * proverbs.length)]}
</header>
</div>
);
}
export default App;