ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • React - JSX 문법
    React 2020. 9. 8. 16:56

    JSX는 HTML 처럼 보이지만 JS코드이다.

    - 바벨이라는 도구 사용해서 XML코드가 JS로 변환되는 것

     

    html코드를 javascript코드로 변환

     

    지켜야 할 규칙들

    1. 모든 태그들을 닫아주어야 한다.

    - input이나 br 태그도 닫아주어야 한다. Ex) <input /> <br />

     

    2. 두 개 이상의 태그는 무조건 하나로 감싸주어야 한다.

    - 하지만 <div> 등으로 감싸게 되면 스타일이 꼬인다던지 하는 문제가 발생될 수 있음

    => <> </> 처럼 비어있는 태그로 감싸주면 해결(크롬 개발자 도구에서도 별도로 태그 나타나지 않음)

     

    ※ return 뒤에  JSX 코드 감싼 괄호는 가독성을 위한 것일 뿐, 코드상에는 문제 없음

     

    3. JSX 내부에서 Javascript코드 사용하는 법

    - 중괄호로 감싸서 변수 사용

     

    4. style과 classname 사용하는 방법

    style 사용

    <div style="background-color: #fff;">

    이런식으로는 동작하지 않음

    => 객체를 만들어 주어야 함 -> 이후 style에 객체 넣어줌

    function App() {
      const name = 'react';
      const style = {
        backgroundColor: 'black', // -로 이어지는 속성들은 붙여서 대문자로
        color: 'aqua',
        fontSize: 24, // px 이 기본값
        padding: '1rem' // 별도의 단위는 문자열로 만들어서 사용
      };
      return (
        <>
          <Hello />
          <div style={style}>{name}</div> // style 객체를 넣어준다.
        </>
      );
    }
    
    export default App;

     

    class 사용

    - App.css -

    .gray-box{
      background: gray;
      width: 64px;
      height: 64px;
    }
    

    - App.js -

    import './App.css';

    맨 위에 선언한 뒤

    function App() {
      const name = 'react';
      const style = {
        backgroundColor: 'black',
        color: 'aqua',
        fontSize: 24,
        padding: '1rem'
      };
      return (
        <>
          <Hello />
          <div style={style}>{name}</div>
          <div className="gray-box"></div>
        </>
      );
    }

    className="gray-box" 로 사용 / class라고 써도 작동은 되지만, 개발자 도구에 경고가 뜬다.

     

    5. 주석 사용

    return (
        <>
          /* 주석 처리 */
          <Hello />
          <div style={style}>{name}</div>
          <div className="gray-box"></div>
        </>
      );

    이렇게만 하면 그대로 브라우저에 보이게 된다.

    return (
        <>
          {/* 주석 처리 */}
          <Hello
          	// 태그 내부에 이런식으로 쓰는 주석은 화면에 안나타남
          />
          <div style={style}>{name}</div>
          <div className="gray-box"></div>
        </>
      );

    중괄호로 감싸주어야 함

    // 태그 내부에 이런식으로 쓰는 주석은 화면에 안나타남

     

     

     

    'React' 카테고리의 다른 글

    React - 조건부 렌더링  (0) 2020.09.08
    React - props 통해 컴포넌트에 값 전달  (0) 2020.09.08
    React - 컴포넌트 만들기  (0) 2020.09.08
    React 작업환경 설정  (0) 2020.09.08
    React는 왜 생겼을까?  (0) 2020.09.08
Designed by Tistory.