2.6 JSX part Two

2022. 9. 5. 14:46React/ReactJS로 영화 웹 서비스 만들기

오늘은 아래의 코드를 또 다른 방식으로 작성해보자.

const container = React.createElement("div", null, [Title, Button]);

그래서 다음과 같이 하면되는것이다.

<!DOCTYPE html>
<html lang="en">

<body>
    <div id="root"></div>
</body>
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
    const root = document.getElementById("root");
    function Title() {
        return (
            <h3 id="title" onMouseEnter={() => console.log("mouse enter")}>
                Hello I'm a h3
            </h3>
        )
    }
    const Button = () => (
        <button 
            style={{backgroundColor: "tomato"}} 
            onClick={() => console.log("I am clicked!")}
        >
            Click me
        </button>
    );

    const Container = (
        <div>
            <Title />
            <Button />    
        </div>
    )
    ReactDOM.render(Container, root);
</script>
</html>

 

Title과 Button을 함수화 시켜주고, Container로 간단하게 불러오면 되는것이다.

이때 불러오는 것들은 무조건 첫번째 글자는 반드시 대문자이어야한다!

 

그럼 아래의 부분도 바꿔줄 수 있다.

ReactDOM.render(<Container />, root);

그런데 다음과 같이 에러가 나는 것을 확인할 수 있다.

왜냐하면 함수로 만들어주지않았기에! 그래서 다음과 같이 변경해보자!

그럼 다음과 같이 정상적으로 출력됨을 확인할 수 있다.

 

이렇게 코드를 구성하면 개발자들이 보기에도 작성하기에도 편함을 인지할 수있다.

 

 

'React > ReactJS로 영화 웹 서비스 만들기' 카테고리의 다른 글

3.1 setState part One  (0) 2022.09.07
3.0 Understanding State  (0) 2022.09.06
2.5 JSX  (0) 2022.09.05
2.3 Events in React  (0) 2022.09.02
2.2 Our First React Element  (0) 2022.09.02