소프트웨어 이론교육/웹 서비스 프론트엔드 개발

React (2) - 기초2

마루설아 2022. 8. 3. 14:10
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
    <div id="root"></div>

    <script type="text/babel">
        function TestProps(props){
            console.log(arguments);
            console.log(props);
            return <>
                <h3>{props.title}</h3>
                <p>{props.user}</p>
            </>;
        }

        function MyList(props){
            let list = props.list;
            return <div>
                <h3>{props.title}</h3>
                <ul>
                    {
                        list.map((name, i) => {
                                return <li key={i}>{name}</li>;
                            })
                    }
                </ul>
            </div>;
        }

        function App(){
            let name = "홍길동";
            let fishList = ['오징어', '꼴뚜기', '대구', '명태'];
            let saramList = ['김길동', '이길동', '박길동', '최길동'];

            return (<>
                        <h1>Hello World!</h1>

                        { /* 컴포넌트의 속성은 임의대로 지어서 사용 */ }

                        <TestProps user={name} title="props 연습" />
                        <MyList list={fishList} title="fishList"/>
                        <MyList list={saramList} title="saramList"/>
                </>);
        }

        ReactDOM.render(<App />, document.getElementById('root'));
    </script>
</body>
</html>