| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- components
- useState
- 상태관리
- JavaScript
- NeXT
- frontend
- 리액트
- vscode
- Package
- 프론트엔드개발
- vue-cli-service
- VUE
- TradingVIew
- CSS
- FRONT
- antd
- Download
- Chart
- error
- npm
- 리액트기초
- form
- develop
- react
- err
- 프론트엔드
- axios
- type
- 시멘틱태그
- 이미지
Archives
- Today
- Total
개발쬬
[React] 클릭(click)이벤트 기초정리 본문
반응형
onClick
react에선 이벤트 함수들은 'on~'으로 시작한다. 때문에 click 이벤트를 발생시키려면 onClick 이벤트를 호출해야하는데 onClick을 사용할때 함수명을 clickHandler 또는 clickHandler() 로 선언하는것에 차이가 있다.
보통 react에선 ()를 통해 함수를 식별하기 때문에 ()괄호를 붙여서 함수를 이벤트에 넣은 경우 JSX가 읽혀질때 click이벤트로 같이 호출된다. 때문에 click 시에만 동작하게 하려면 괄호를 제거하고 사용해야한다.
👉 예시
import React from "react";
import Card from "../UI/Card";
import ExpenseDate from "./ExpenseDate";
import "./ExpenseItem.css";
// 취향에 따라 function / const 로 선언할 수 있다.
const ExpenseItem = (props) => {
const clickHandler = () => {
console.log("Click");
};
return (
<Card className="expense-item">
<ExpenseDate date={props.date} />
<div className="expense-item__description">
<h2>{props.title}</h2>
<div className="expense-item__price ">${props.amount}</div>
{/*
clickHandler 에 ()를 붙이면 안되는 이유
JSX 는 () 로 함수를 판단하기 때문에 load 될때 실행된다
*/}
<button onClick={clickHandler}>Change Title</button>
</div>
</Card>
);
};
export default ExpenseItem;
반응형
'쬬의 React' 카테고리의 다른 글
| [React] next-i18next error / i18next Text content did not match. Server: "introMessage" Client: (0) | 2023.06.28 |
|---|---|
| [React] useEffect 와 CleanUp 작동방식 이해하기 + input 입력완료 후 감지 코드예시 (0) | 2023.04.09 |
| [React] 렌더링 상태 체크하기 (크롬 익스텐션 활용) (0) | 2023.04.09 |
| [React] input 상태 업데이트 useState,useRef (0) | 2023.04.08 |
| [React] createPortal 사용해 효율적으로 모달 관리해주기 (0) | 2023.04.08 |