페이스북이 웹 개발을 쉽게 하기 위해 반든 기술입니다.
함수 호출과 객체 생성을 위한 문법적 편의를 제공하는 자바스크립트의 확장으로 특히 React.createElement를 반복적으로 호출하는 불편을 해소한다.
태그 특성은 낙타 표기법
html
<input type="text" maxlength="30">
JSX
return <input type="text" maxLength="30"/>
npm install --global yarn
npm or yarn 으로 설치(하나만 해도 된다)
npm install -g create-react-app
yarn global add create-react-app
create-react-app 프로젝트이름
cd 프로젝트이름
npm start
yarn start
화면에 표시되기 위해서는 index.js에서 호출해줘야 한다.
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
아래처럼 화면에 표시되기 위해 호출할 함수를 명시해줘야 한다.
<React.StrictMode>
<호출할 함수/>
</React.StrictMode>
import logo from './logo.svg';
import './App.css';
function App() {
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>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;