front/react

[React] ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ

๋ฐฐ๊ณ ํŒŒ์š” 2026. 1. 1. 11:31
728x90

๐Ÿ“ React Event

  • HTML DOM ์ด๋ฒคํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ์ž ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.
  • ๋ฆฌ์•กํŠธ์—๋Š” HTML๊ณผ ๋™์ผํ•œ ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์Œ
  • ํด๋ฆญ, ๋”๋ธ”ํด๋ฆญ, ์ฒด์ธ์ง€ ๋“ฑ๋“ฑ.

 

 

 

 

๐Ÿ“ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ ค๋ฉด???

  • ํ•จ์ˆ˜๋ฅผ ๋„ฃ์„ ๋•Œ๋Š” ์ค‘๊ด„ํ˜ธ {} ์— ๋„ฃ์–ด์•ผํ•จ.
  • <button onClick={sayHi}>์ธ์‚ฌ๋ฒ„ํŠผ</button> 
  • ํ™”์‚ดํ‘œํ•จ์ˆ˜ ์ฒ˜๋ฆฌ :: <button onClick={  () => sayHi("ํ™๊ธธ๋™") }>์ธ์‚ฌ๋ฒ„ํŠผ</button>
  • ์ต๋ช…ํ•จ์ˆ˜ ์ฒ˜๋ฆฌ :: <button onClick={ function(){sayHi("ํ™๊ธธ๋™")} }>์ธ์‚ฌ๋ฒ„ํŠผ</button>
  • ์ต๋ช…ํ•จ์ˆ˜์™€ ํ™”์‚ดํ‘œํ•จ์ˆ˜ ์—๋Š” this ์˜ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์—... ์ฃผ์˜ํ•ด์•ผํ•จ.
    • ์ผ๋ฐ˜ ํ•จ์ˆ˜ --> "๋ˆ„๊ฐ€ ๋ถˆ๋ €๋Š”์ง€"
    • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ --> "์–ด๋””์„œ ํƒœ์–ด๋‚ฌ๋Š”์ง€"
import { createRoot } from 'react-dom/client';

function App() {
    const sayHi = (name, e) => {  // const sayHi = function (name){~} // ์—ฌ๊ธฐ์„œ๋Š” ๋‘˜๋‹ค ๋™์ผ.
        alert(`${name}๋‹˜ ์•ˆ๋…•ํ•˜์„ธ์š”, \n e.type์€ --  ${e.type}`);
        console.log(e.type);
    }

    return (
        // <button onClick={ function(){ sayHi("ํ™๊ธธ๋™") }}>์ธ์‚ฌ๋ฒ„ํŠผ</button> // ์ต๋ช…ํ•จ์ˆ˜
        // <button onClick={ () => { sayHi("ํ™๊ธธ๋™") }}>์ธ์‚ฌ๋ฒ„ํŠผ</button> // ํ™”์‚ดํ‘œํ•จ์ˆ˜ // ๋ฆฌ์•กํŠธ์—์„œ๋Š” ํ™”์‚ดํ‘œํ•จ์ˆ˜๋ฅผ ์ฃผ๋กœ ์จ์•ผํ•จ.
        // ์ธ์ˆ˜ ์ „๋‹ฌํ•  ๋•Œ๋Š” ๋ฌด์กฐ๊ฑด ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์จ์•ผํ•จ.
        // <button onClick={ sayHi("ํ™๊ธธ๋™") }>์ธ์‚ฌ๋ฒ„ํŠผ</button> // ํด๋ฆญํ•˜์ง€ ์•Š์•„๋„ ๋ฐ”๋กœ alert ์ฐฝ ๋œธ.


        <button onDoubleClick={ (event) => { sayHi("ํ™๊ธธ๋™", event) }}>์ธ์‚ฌ๋ฒ„ํŠผ</button> // sayHi ํ•จ์ˆ˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•œ.(๋ฐœ์ƒ์‹œํ‚จ) ์ด๋ฒคํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž„. event 
    )
}

createRoot(document.getElementById('reactEvent')).render(
    <App />
);

 


์ถœ์ฒ˜ : 

[์™•์ดˆ๋ณด ํ™ˆํŽ˜์ด์ง€๋งŒ๋“ค๊ธฐ ๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ ๊ฐ•์˜]

https://www.youtube.com/watch?v=kgo-ZUdd004&list=PLTb3qGCzYjS2AliTIbz9eAGjZSdEQa3m1&index=19

 

 


๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ์œ„ํ•œ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค. 

์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”! 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

728x90