JS Library/React

JSX

원2 2022. 5. 11. 11:44
728x90
반응형

 

아래의 태그 문법은 문자열도, HTML도 아니다.

JSX라 하며 JavaScript를 확장한 문법

const element = <h1>Hello, world!</h1>;

 

 

JSX 규칙

 

  • 태그는 꼭 닫혀야 한다.
  • 두개 이상의 태그가 존재하면 하나의 태그로 감싸줘야 한다.
  • return()부분에서의 두개 이상의 태그 시
  • javascript 값 에는 {} 사용
  • 주석은 {/* */} 이렇게 달자 { } 빼먹으면 /* 내용 */  이렇게 출력됨

 

import './App.css';
import Hello from "./Hello";

function App() {
    const name = {
        title: 'my name is...',
        name: 'Lee soju'
    };
  return (
      //두개 이상의 태그에 하나로 감싸기
      //Fragment <></> : 불필요한 div 가 많을때 사용
      <>
          {/* js 값 사용시 { } 사용 */}
          <div>{name.title}</div>
          <h1>{name.name}</h1>
      </>

  );

}

export default App;

 

 


style

 

App.css 에 할당하지 않고 컴포넌트 내부적으로 css 를 줄 때

 

* 인라인 스타일을 줄 때에는 camleCase 로 적어줘야한다.

ex) fontSize <<< 이렇게

import './App.css';
import Hello from "./Hello";

function App() {
    const title = "Todays dinner";
    const dinner = {
        menu: "roasting clams",
        drink: "soju"
    };
    const customStyle = {
        color: "blue",
        fontSize: "25px"
    };
  return (
      //두개 이상의 태그에 하나로 감싸기
      //Fragment <></> : 불필요한 div 가 많을때 사용
      <>
          {/* js 값 사용시 { } 사용 */}
          {/* 컴포넌트 재사용 */}
          <h1>
              <Hello></Hello>
          </h1>
          <h1 style={customStyle}>{title}</h1>
          {/* 직접적으로 내부에 스타일을 먹일 때에는 {} 한번 더 사용 */}
          <div style={{ color: "darkred", fontSize: "20px" }}>menu: {dinner.menu}</div>
          <div style={{ color: "green", fontSize: "20px" }}>drink: {dinner.drink}</div>
      </>

  );

}

export default App;

 

결과

 

 


 

className

 

class 를 설정할 때에는 class 이 아니고 className 이 되어야한다

 

 

<div className="testBox"></div>

 

App.css

 

.testBox {
  background-color: darkblue;
  width: 50px;
  height: 50px;
}

 

결과

728x90
반응형

'JS Library > React' 카테고리의 다른 글

useState HOOK  (0) 2022.05.11
조건부 렌더링  (0) 2022.05.11
components에 props 전달  (0) 2022.05.11
컴포넌트 생성과 재사용  (0) 2022.05.11
코드 랜더링과 map  (0) 2022.05.11
인텔리제이에서 리액트 설정 링크  (0) 2022.05.10