1. React 기본 문법
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>
);
reportWebVitals();
app.js
import logo from './logo.svg';
import './App.css';
function App() {
return
}
export default App;
index.js 파일이 App.js 파일을 실행시킨다.


리액트는 하나의 돔만 리턴이 가능하다. 따라서 하나의 돔 내부에 돔을 넣어야 한다.
2. 변수 바인딩



html 내부에 변수 바인딩할 수 있다.


3. 전개 연산자(spread operator)
상태로 데이터를 관리하려면 이전 데이터와 새로운 데이터를 비교해야 한다. 그래서 이전 데이터는 불변이어야 한다.
// 변수
let a = [1,2,3];
// 불변, 상수, 실행 직전에 메모리에 뜸. , 컨파일 타입이 없음.
const b = [4,5,6];
// 불변
let a1 = [...a,4] ; // 전개 연산자
// 변함
a.push(4); // 원본 배열에 추가하기 때문에 사용하지 않는다.
스프레드 연산자는 배열을 확장하는 데 사용된다. …a는 배열 a 의 모든 요소를 개별적으로 나열한다. 이 문법을 사용하여 새로운 배열을 생성할 수 있다.
console.log("이전",a);
console.log("이후",a1);



전개연산자 문법
let 변수 = {...원래변수,변경원하는필드 : xx }
전개 연산자를 사용해 배열 값을 추가할 수 있다.
4. 배열 데이터 삭제
filter 메서드를 사용하면 원본 배열을 변경하지 않고 필요한 요소만을 포함하는 새로운 배열을 생성할 수 있어, 불변성을 유지할 수 있다.
const b = [4, 5, 6]; // 상수
// 삭제는 필터로 함. 불변을 유지해야 되니까
let b1 = b.filter((item)=>item !==5);

5. 배열 데이터 가공하기
map 메서드를 사용해 배열의 각 요소에 대해 주어진 함수를 호출하여 새로운 배열을 생성합니다. 전개 연산자와 함께 사용하면 배열의 원하는 값만 선택해서 변경할 수 있다.
// 5. 가공하기
let postList =[
{id : 1, title:"제목1",content :"내용1"},
{id : 2 title:"제목2",content :"내용2"},
{id : 3, title:"제목3",content :"내용3"},
];
let post = postList.map(()=>({
...item,
content:"내용변경",
}));

6. JSX 문법
JSX문법
JavaScript 코드 내에서 HTML 요소를 쉽게 작성할 있다.
import './App.css';
let list = [1,2,3,4];
function App() {
return <div>
<div>1</div>
<div>2</div>
<div>3</div>
{list.map((i) =>
<h1>{i}</h1>
)}
</div>
}
export default App;
npm start // 이걸로 실행

불변함수는 리턴값이 있기 때문에 표현식이다. 그래서 foreach 문으로는 화면에 표시가 안되고 map 을 써야 한다.
Share article