프론트엔드 개발/React
React 기초) 이벤트리스너 다는 방법
Ella Seon
2022. 11. 21. 21:55
리액트 VS 자바스크립트 이벤트 처리하는 방법 비교
자바스크립트에서는 이벤트핸들러를 onclick 으로 표현
리액트에서는 onClick 으로 카멜케이스로 표시하고 있다.
또한 자바스크립트에서는 "" 안에
리액트에서는 {} 안에 함수를 넣고있다.
1) 함수를 만들어서 함수로 전달
Show name이라는 버튼을 클릭하면 ella라는 글씨가 콘솔창에 보이게 해주세요~
function Hello() {
function showName() {
console.log("ella");
}
return (
<div>
<h1>Hello</h1>
<button onClick={showName}>Show name</button>
</div>
);
}
export default Hello;
2) 직접 이벤트리스너 안에 함수 전달
function Hello() {
return (
<div>
<h1>Hello</h1>
<button
onClick={() => {
console.log(28);
}}
>
Show age
</button>
<input
type="text"
onChange={(e) => {
console.log(e.target.value);
}}
/>
</div>
);
}
export default Hello;
3) 이벤트리스너 안에 만든 함수를 넣어서 사용해보기
- 함수를 넣어서 사용하면 매개변수를 전달하기가 편하다
function showAge(age){
console.log(age);
}
함수를 만들고
이벤트리스너를 달아서 매개변수로 전달하기가 편하다
<button onClick={() => { showAge(35); }} > Show age </button>
function Hello() {
function showAge(age) {
console.log(age);
}
function showMeText(txt) {
console.log(txt);
}
return (
<div>
<h1>Hello</h1>
<button
onClick={() => {
showAge(35);
}}
>
Show age
</button>
<input
type="text"
onChange={(e) => {
const txt = e.target.value;
showMeText(txt);
}}
/>
</div>
);
}
export default Hello;