일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 리액트
- 원펀맨
- html
- JSTL
- set
- JSX
- jQuery
- array
- Java
- 자바스크립트
- spring
- url 변환
- 형변환
- 자바
- 모바일게임
- forEach
- url 치환
- table
- 오라클
- JavaScript
- 이름 마스킹
- Oracle
- React
- 원펀맨: 최강의 남자
- JS
- 배열
- 맛집
- 스프링
- 개발
- SQL
Archives
- Today
- Total
특별한 일상
[REACT] 리액트 JSX로 스타일 지정 (React JSX in CSS) 본문
반응형
지난 포스팅 이었던 '[REACT] 리액트 JSX 태그 내부에 변수 넣기(React JSX in InnerTag)' 에 이어서
오늘은 JSX로 스타일 속성을 지정하는 방법을 알아보겠습니다.
기본적으로 DOM속성으로 뷰의 스타일을 지정할때 <style></style> 속성을 사용하는데...
JSX에서 이 스타일 속성을 문자열로 지정할 수 없습니다.
스타일 속성으로 CSS 속성과 값을 객체로 지정해야 합니다.
const param = {prop1 : value1, prop2 : value2, prop3 : value3 ...}
const domStyle = <태그 style={object}>...</태그>
그럼 예시를 통해 더 자세하게 알아보겠습니다.
예시는 홈페이지 형태입니다.
<!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>homepage</title>
</head>
<body>
<div id="header"></div>
<div id="contents"></div>
<div id="footer"></div>
<!--
HTML안에 리액트 문법을 쓸 수 있게
스크립트 정의
-->
<script type="text/babel">
// 리액트로 DOM 내용 변경
ReactDOM.render(
fncDomStyle(),
document.getElementById('header')
)
ReactDOM.render(
fncDomStyle2(),
document.getElementById('contents')
)
ReactDOM.render(
fncDomStyle3(),
document.getElementById('footer')
)
// function 작성(요소반환 함수)
function fncDomStyle(){
const top_css = {
"overflow": 'hidden',
"background-color": '#555'
}
const top_sub_css = {
"float": 'left',
"display": 'block',
"color": '#f2f2f2',
"text-align": 'center',
"padding": '14px 16px',
"text-decoration": 'none',
}
const url01 = "http://www.naver.com"
const url02 = "http://google.com"
return (
<div style={top_css}>
<a href={url01} style={top_sub_css}>메뉴1</a>
<a href={url02} style={top_sub_css}>메뉴2</a>
</div>
)
}
function fncDomStyle2(){
const contents_css = {
"background-color": '#ddd',
"padding": '10px',
"height": '200px'
}
return (
<div style={contents_css}>
<h2>콘텐츠</h2>
<p>콘텐츠 내용</p>
</div>
)
}
function fncDomStyle3(){
const footer_css = {
"background-color": '#f1f1f1',
"padding": '10px'
}
return (
<div style={footer_css}>
<p>문의 : develop-sense.tistory.com</p>
</div>
)
}
</script>
</body>
</html>
render()를 3개로 구분하여 header, contents, footer 영역으로 만들어서 홈페이지 형태를 구현해 보았습니다.
더 나은 방법과 설명은 앞으로 리액트를 공부하면서 더 알아보겠습니다.
※ css 소스 참고 : https://www.w3schools.com/
'IT•개발 끄적 > React' 카테고리의 다른 글
[REACT] 리액트 컴포넌트로 체크박스 선택/해제 구현(used React component in checkbox) (0) | 2021.06.04 |
---|---|
[REACT] 리액트 JSX 태그 내부에 변수 넣기(React JSX in InnerTag) (0) | 2021.05.13 |
[REACT] 모던스크립트 리액트 hello world(react basic in modern script) (0) | 2021.05.11 |
Comments