๐Ÿ’ป My Work/๐Ÿ”ฅ React

[React/JS] arrow function

Jaeseo Kim 2023. 1. 17. 23:41

arrow function ์— ๋Œ€ํ•œ ๊ธ€์„ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

 

Arrow function expressions - JavaScript | MDN

An arrow function expression is a compact alternative to a traditional function expression, with some semantic differences and deliberate limitations in usage:

developer.mozilla.org

 

๐Ÿค” ๋ฌธ์ œ ์ƒํ™ฉ

์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋‹ˆ ์ œ๋Œ€๋กœ ์ž‘๋™๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
 const setIsActive = (open) => (event) => {
 	setCategoryState(open);
 };
 
 function onClickLeaf() {
 	setIsActive(false);
}

onClick={onClickLeaf} // ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ์ด๋ฒคํŠธ ํ•จ์ˆ˜

 

ChatGPT์—๊ฒŒ ๋„์›€ ์š”์ฒญ....*

์‚ฌ๋ž‘ํ•ด์š”

๋Š˜ ๊ทธ๋ ‡๋“ฏ ์•„์ฃผ ์นœ์ ˆํ•˜๊ฒŒ ๋Œ€๋‹ตํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค... โœจโœจ

 

๐Ÿš€ ํ•ด๊ฒฐ

์ €์˜ ๋ฌธ์ œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์•˜๊ณ 

  • setIsActive function is not being invoked with the event parameter.

setIsActive()ํ˜ธ์ถœ ์‹œ์— event ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋„˜๊ฒจ์ฃผ์ง€ ์•Š์•˜๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜ํ•ซ ๐Ÿฅบ๐Ÿ˜

const setIsActive = (open) => (event) => {
	setCategoryState(open);
};

function onClickLeaf(event) {
	setIsActive(false)(event); // event ๋งค๊ฐœ ๋ณ€์ˆ˜
}

onClick={onClickLeaf}

๐Ÿ“Œ ์ฆ‰, ์ •๋ฆฌํ•˜์ž๋ฉด

onClickLeaf() ๋Š” event ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ณ  setIsActive(false)์— ์˜ํ•ด ๋ฐ˜ํ™˜๋œ ๋‚ด๋ถ€ ํ•จ์ˆ˜์— ํ•ด๋‹น ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.