일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- JSTL
- JSX
- Oracle
- 모바일게임
- SQL
- 자바
- 원펀맨: 최강의 남자
- 스프링
- 배열
- Java
- 형변환
- JS
- 리액트
- spring
- JavaScript
- array
- url 치환
- 오라클
- 자바스크립트
- html
- 원펀맨
- React
- url 변환
- forEach
- set
- jQuery
- 맛집
- 개발
- table
- 이름 마스킹
Archives
- Today
- Total
특별한 일상
[REACT] 리액트 JSX 태그 내부에 변수 넣기(React JSX in InnerTag) 본문
반응형
안녕하세요. 소다맛사탕 입니다.
리액트는 템플릿처럼 사용할 수 있는데 이번 포스팅에선 JSX 태그 내부에 변수를 넣는 방법에 대해 알아 보겠습니다.
JSX로 HTML 태그를 작성할 때 변수와 함수를 태그 내부에 사용할 수 있는데.
이를 테면... 이와 같습니다.
<tag> {value} </tag>
<tag attr={value}></tag>
function 작성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script>
<title>0513test1</title>
</head>
<body>
<div id="div01"></div>
<div id="div02"></div>
<!--
HTML안에 리액트 문법을 쓸 수 있게
스크립트 정의
-->
<script type="text/babel">
const headStr = "안녕하세요?"
const subStr = "반가워요"
const subStr2 = 12345
// HTML 태그 내부에 변수 값 넣기
const msg = <h1>{headStr}</h1>
const subMsg = <h2>{subStr} : {subStr2}</h2>
// render()
const elm01 = document.getElementById("div01")
const elm02 = document.getElementById("div02")
ReactDOM.render(msg, elm01)
ReactDOM.render(subMsg, elm02)
</script>
</body>
</html>
HTML 태그 내부에 자유롭게 변수와 상수를 넣는 방법
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script>
<title>0513test2</title>
</head>
<body>
<div id="div01"></div>
<!--
HTML안에 리액트 문법을 쓸 수 있게
스크립트 정의
-->
<script type="text/babel">
const divVal = "안녕하세요?."
const urlVal = "http://www.naver.com"
// JSX 요소 정의
const msg =
<div>
<h1>{divVal}</h1>
<p><a href={urlVal}>네이버</a></p>
</div>
// render()
const elm = document.getElementById("div01")
ReactDOM.render(msg, elm)
</script>
</body>
</html>
JSX로 속성 값을 작성할 때는 큰따옴표가 아니라 중괄호를 사용하면 됩니다.
a태그 요소의 href에 url을 집어넣게 되면 해당 url로 이동하는걸 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script>
<title>0513test3</title>
</head>
<body>
<div id="div01"></div>
<!--
HTML안에 리액트 문법을 쓸 수 있게
스크립트 정의
-->
<script type="text/babel">
// 리액트로 DOM 내용 변경
ReactDOM.render(
fncDom(),
document.getElementById('div01')
);
// function 작성
function fncDom() {
return (
<div>
<h1>안녕하세요?</h1>
<h2>function 테스트</h2>
</div>
)
}
</script>
</body>
</html>
다음은 함수를 선언하여 HTML 내부를 변경하는법 입니다.
※ 주의 사항(JSX를 사용시 발생하는 오류)
// 오류1
function fncDom() {
return
<div>
<h1>안녕하세요?</h1>
<h2>function 테스트</h2>
</div>
}
// HTML 태그를 제대로 인식하지 못하는 오류.
// return을 소괄호로 감싸야 합니다.
// 오류2
function fncDom() {
return (
<div>
<h1>안녕하세요?</h1>
<h2>function 테스트</h2>
</div>
<div>
<h1>안녕하세요?</h1>
<h2>function 테스트</h2>
</div>
)
}
// 여러 개의 DOM 요소 생성시 오류.
// 한 return 안에 여러개의 div 요소를 생성시 오류.
// HTML 태그를 연속적으로 작성할 수 없습니다.
예시를 통해 HTML 태그 내부를 변경하는 방법에 대해 알아보았습니다.
더 자세한 내용과 방법은 다음 포스팅에서 다뤄 보겠습니다.
'IT•개발 끄적 > React' 카테고리의 다른 글
[REACT] 리액트 컴포넌트로 체크박스 선택/해제 구현(used React component in checkbox) (0) | 2021.06.04 |
---|---|
[REACT] 리액트 JSX로 스타일 지정 (React JSX in CSS) (0) | 2021.05.21 |
[REACT] 모던스크립트 리액트 hello world(react basic in modern script) (0) | 2021.05.11 |
Comments