여러가지 문법들 중

JSX 문법에 대해 작성하도록 하겠습니다.

REACT에서 사용하는 JSX 문법 예제

 

<TAG> { 표현식 } </TAG>

<TAG ATTR= { 표현식 } />

이렇게 작성하는데,

주의 할 점은 ATTR(속성) 부분에 따옴표를 작성하지 않는 것이다.

 

HTML 에서는 ATTR = " " 이런식으로 작성해주어야 함.

 

 

 

 

 

과거 JSX라는 용어를 처음 들었을 때에는

 

이게 도대체 뭔 🐶소리인가 했는데, 이제 또 보니까 바로바로 흡수되는게 신기하다.

 

JSX 이미지

 

반응형

안녕하세요 CodeHoon입니다.

 

이번 글은 렌더링 기초 중의 기초이자 핵심, 컴포넌트 / 함수형으로 랜더링하기 (예제 포함) 입니다.

 

결과물입니다. 출처링크포함

html에서는 h1태그와 img 태그. 이 두가지를 삽입하기만 하면 해당 내용이 출력되어져 편했었죠?

 

리액트에서는 조금 더 들어가야합니다. WebFramework이니까요.

 

<body>
    <div id="root"></div>


    <script type="text/babel">
        class App extends React.Component{
            render(){
                return (
                    <div>
                        <h1>{this.props.name}님, 안녕하세요</h1>
                        <img src={this.props.imgUrl}/>
                    </div>
                )
            }
        }

        // 출력
        const container = document.querySelector("#root")
        ReactDOM.render(
            <App name="애용" imgUrl="https://newsimg.hankookilbo.com/cms/articlerelease/2019/04/29/201904291390027161_3.jpg" />, container 
            )
    </script>
</body>

이곳에서 중요한 점은 저 위 return에서 첫번째줄 <div>를 엔터처리하여 return ; 이 되지 않게 하는 것입니다.

그래서 괄호( ) 를 넣어놓았어요.

 

지난번과 다른점은 함수형인 부분인데요, 

 

바로 클래스 컴포넌트를 이용했다는 점입니다.

 

 

 

반응형

안녕하세요. CodeHoon 입니다.

 

이번에는 자바스크립트의 dom 복사 이벤트를 구현하려고 합니다.

 

버튼 클릭으로 할 거구요, 다른 이벤트로 자유롭게 해도 무관합니다.

복사하기 구현

<!DOCTYPE html>
<html lang="ko">
<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>
</head>
<body>
    <h1>복사하기 구현</h1>
    <textarea name="" id="textArea" cols="30" rows="10"></textarea><br>
    <button type="button" id="copyBtn">copy</button>

윗부분이구요,


<script>
   const textArea = document.querySelector('#textArea')
   const copyBtn = document.querySelector('#copyBtn')

   copyBtn.addEventListener("click", () => {
       textArea.select()
       document.execCommand("copy")
   })
</script>

</body>
</html>

주요 내용입니다.

 

 

ID가 textArea인 Textarea 태그를 생성하여 html에 작성합니다. 

그리고 그 아래에 ID가 copyBtn인 버튼을 생성하여 html에 작성합니다.

 

Javascript 부분입니다. 

textarea부분과 button의 아이디를 querySelector로 가져와, button 에 이벤트를 생성합니다.

 

textArea.select()로 textarea 내에 작성한 모든 내용을 선택한다는 뜻이고,

document.exeComand("copy") 로 선택한 내용을 복사한다는 뜻입니다.

 

이상입니다.

 

 

 

반응형

웹페이지에 표시된 "React Start"

 

이제 코드 에디터로 React render를 하여 "React Start"를 작성하도록 하겠습니다.

 

<!DOCTYPE html>
<html lang="ko">
<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 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://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>

    <script type="text/babel">
        const component =
        <h1>React Start</h1>; 
        const container = document.querySelector("#root");
         ReactDOM.render(component, container);
    </script>
</body>

</html>

<h1> 태그로 React Start를 입력하여 웹페이지에 출력하도록 하겠습니다.

 

root 라는 id를 가진 div를 생성하고,

스크립트/바벨component라는 상수에 태그 <h1>React Start</h1>를 담았습니다.

그리고 querySelector로 아까 만든 div를 찾아주시고,

ReactDOM.render(component, container) 를 작성해주어 해당 내용을 출력합니다.

 

반응형

React를 시작할때 사용할 수 있는 cdn 이다.

해당되는 cdn은 개발 버전으로, 안정성을 추구한다면 production 버전을 사용하도록 한다.

<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://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script>

 

왜 사람들이 자바스크립트로 자꾸 드래그 금지시켜놓는지 모르겠네요. 

 

반응형

+ Recent posts