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
- C#크롤링
- AndroidStudio
- 쿼리
- react
- Callback
- HTTP
- JSTL
- c:forEach
- 콜백
- MySQL
- c:choose
- 서드파티모듈
- iBATIS
- jsx
- egov
- MVC
- android
- mybatis
- SQL
- Java
- RequestMethod.POST
- JavaScript
- NPM
- jQuery
- fullcalendar
- 동적쿼리
- Spring
- vscode
- 국제화
- node.js
Archives
- Today
- Total
Today Yewon Learned
[React] JSX 본문
JSX
- React에서 지원, javascript와 html을 섞어서 쓸 수 있는 javascript의 확장된 문법
※ 주의할 점
- JSX는 javascript의 확장 문법이기 때문에 html문법을 완전히 그대로 사용할 수 없음
ex) class 속성
import ReactDOM from 'react-dom';
class Dice {
roll() {
console.log('Roll!');
}
}
// html - class 속성 그대로 사용 불가
/*ReactDOM.render(<p class="hello">안녕 리액트!</p>, document.getElementById('root'));*/
// JSX - className 속성으로 사용해야함
ReactDOM.render(<p className="hello">안녕 리액트!</p>,document.getElementById('root'));
ex) for 속성 - label태그에서 input태그와 함께 사용 되는 속성
import ReactDOM from 'react-dom';
//html - for속성 그대로 사용 불가
ReactDOM.render(
<form>
<label for="name">이름<label>
<input id="name" type="text" />
</from>,
document.getElementById('root'));
//JSX - htmlFor속성으로 사용
ReactDOM.render(
<form>
<label htmlFor="name">이름<label>
<input id="name" type="text" />
</from>,
document.getElementById('root'));
ex) 이벤트 핸들러 작성법
- 두번째 문자 이후부터 대문자로 작성해야함 (camelcase)
import ReactDOM from 'react-dom';
ReactDOM.render(
<form>
<label htmlFor="name">이름<label>
<input id="name" type="text" onBlur="" onFocus="" onMounseDown=""/>
</from>,
document.getElementById('root'));
- JSX는 실행될 때 javascript문법으로 변환되어 실행 됨
- {} 중괄호 안에 변수 값 할당
- {} 중괄호 안에는 javascript 표현식만 사용 가능하며 if문 ,for문 혹은 함수 선언과 같은 문장은 사용할 수 없음
import ReactDOM from 'react-dom';
const product = '맥북'
ReactDOM.render(
<h1>나만의 {product} 주문하기</h1>, // {}중괄호로 변수 감싸기
document.getElementById('root')
);
import ReactDOM from 'react-dom';
const product = 'Macbook'
ReactDOM.render(
<h1>나만의 {product.toUpperCase()} 주문하기</h1>, //메소드 사용가능
document.getElementById('root')
);
import ReactDOM from 'react-dom';
const product = 'Macbook'
const model = 'Air';
const item = product + model;
const imageUrl = 'https://forum-creallo.s3.dualstack.ap-northeast-2.amazonaws.com/original/1X/5e0d906585d6dbbf7f3c9997484eee594bd01da1.jpeg'
function handleClick() {
alert('곧 도착합니다!.');
}
ReactDOM.render(
<>
<h1>나만의 {item} 주문하기</h1>
<img src={imageUrl} alt="어피치" />
<button onClick={handleClick}>확인</button>
</>,
document.getElementById('root')
);
'React' 카테고리의 다른 글
[Visual Studio Code] 정리된 코드 만들기(Beautify) (0) | 2024.01.07 |
---|---|
[React] Component (0) | 2022.01.15 |
[React] Pragment (0) | 2021.12.30 |
[React] index.html과 index.jsp (0) | 2021.12.30 |
[React] React 실행하기 (0) | 2021.12.27 |
Comments