[React] ์ด๋ฒคํธ ํธ๋ค๋ง
EVENT = ํน์ '์ฌ๊ฑด'
๋ฒํผ ํด๋ฆญ ์ด๋ฒคํธ => ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ ์ฌ๊ฑด
HTML
<button onclick = "activateLasers()">
Activate Lasers
</button>
HTML
- onclick์ด ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ์์
- ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ํจ์๋ฅผ ํฐ๋ฐ์ดํ("")๋ก ๋ฌถ์ด์ ํํํด๋์์
React
<button onClick = {activateLasers}>
Activate Lasers
</button>
React
- onClick์ C๊ฐ HTML๊ณผ ๋ค๋ฅด๊ฒ ๋๋ฌธ์๋ก ๋ํ๋
- ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ ๋ ๋ฌธ์์ด์ด ์๋ ํจ์(์ด๋ฒคํธ์ฒ๋ฆฌ ํจ์)๋ฅผ ์ ๋ฌ
Camel Case
ํ์ผ, ๋ณ์, ํจ์ ๋ฑ ๋์์ ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ง๊ธฐ ์ํจ
๋ฆฌ์กํธ์ ํจ์ ํธ๋ค๋ง์์ ์ฌ์ฉ๋จ
Event handler = Event Listener
์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์
์ด๋ค ์ฌ๊ฑด์ด ๋ฐ์ํ๋ฉด, ์ฌ๊ฑด์ ์ฒ๋ฆฌํ๋ ์ญํ
์ด๋ฒคํธ ํธ๋ค๋ง ๊ณต์ ๋ฌธ์
์ฌ์ด ์์(onClick ์ฌ์ฉ)
JS)
onClick = "ํด๋ฆญํ ๋ ์คํํ JS"
React)
onClick = {ํด๋ฆญํ ๋ ์คํํ JS}
onClick = { ()=>{์คํํ ๋ด์ฉ}}
1. ๐๐ป ๋๋ฅผ ๋๋ง๋ค ์ฝ์ ์ฐฝ์ 1 ๋์ฐ๊ธฐ
<span onClick = {()=>console.log(1)}}> ๐๐ป </span>
2. ๐๐ป๋๋ฅผ ๋๋ง๋ค 1 ์ฆ๊ฐ ์ํค๊ธฐ
import React, {useState} from 'react';
let[like, like_change] = useState(0);
<span onClick={()=>{like_change(like+1)}}>๐๐ป{like}</span>
state๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ import React, {useState} from 'react'; ๋ฅผ ๊ผญ ์ถ๊ฐํด์ฃผ๊ธฐ
let[like,like_change] = useState(0); ์์
like๋ state์ด๊ณ , like_change๋ state๋ณ๊ฒฝํจ์์ด๋ค.
useState(0)์์์ 0์ state์ ์ด๊ธฐ๊ฐ
๐์ฃผ์์ฌํญ
state๋ ๊ทธ๋ฅ ๋ณ๊ฒฝํ์ง ์๊ณ , state๋ณ๊ฒฝํจ์๋ฅผ ์ฌ์ฉํด์ state๋ณ๊ฒฝํจ์(state๋ฅผ ๋์ฒดํ ๋ฐ์ดํฐ)๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด๋จ