Small Grey Outline Pointer React :: 버튼 클릭시 숫자 카운트 되기
본문 바로가기
Dev./React

React :: 버튼 클릭시 숫자 카운트 되기

by sso. 2022. 8. 12.

새 프로젝트 폴더를 만들고 npm start를 해도 실행이 안되면 경로충돌이 일어난 경우일 수 있으므로

새로 다시 시작해보는게 좋다

 

 

 

리액트에서는 

<button onClick={increase}>클릭!</button>

onClick => c를 대문자로 표기한다, onClick 뒤에 {} 가 사용된다

 

 

 

App.js

import './App.css';

function App() {
    let counter = 0;
    const increase = () => {
        counter += 1;
        console.log('카운터 확인!', counter);
    };
    return (
        <div className="App">
            <div>{counter}</div>
            <button onClick={increase}>클릭!</button>
        </div>
    );
}

export default App;

 

 

UI는 변함 없으나, 확인용 콘솔창에는 클릭시 숫자가 올라감을 확인할 수 있다

UI에도 숫자가 바뀌는 것을 보여지도록 수정해야 한다!

 

리액트에서는 state가 변하면 UI가 변하게끔 되어 있다

위에서 숫자가 바뀌지 않는 이유는 counter가 일반 변수이기 때문이다

 

 

 

import { useState } from 'react';
import './App.css';

function App() {
    let counter = 0;
    const [counter2, setCounter2] = useState(0); //react hook
    const increase = () => {
        counter += 1;
        setCounter2(counter2 + 1);
        console.log('카운터 확인!', counter, '카운터2확인!!', counter2);
    };
    return (
        <div className="App">
            <div>{counter}</div>
            <div>state : {counter2}</div>
            <button onClick={increase}>클릭!</button>
        </div>
    );
}

export default App;

 

 

 

 

state를 바꾸면 UI를 렌더링 해준다

일반 변수는 리액트가 주시하고 있는 값이 아니기 때문에

리-렌더링이 되면 변수의 값이 초기화 된다 (내가 설정한 초기값으로) 그래서 계속 카운터는 1로 표시 된다

 

 

 

728x90

'Dev. > React' 카테고리의 다른 글

React :: 라이프 사이클  (0) 2022.08.24
React :: 클래스 컴포넌트  (0) 2022.08.22
React :: 가위바위보 게임 만들기  (0) 2022.08.17
리액트 기초  (0) 2022.08.10
node.js :: express로 웹서버 띄우기  (0) 2022.07.24

댓글