{TIL} 0204

2021. 2. 4. 23:35ใ†๐Ÿ“” TIL

 

 

 

1. React์—์„œ, eventHandler์—์„œ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ํ•จ์ˆ˜์—๋Š” bind๋ฅผ ๋ถ™์ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด onClick ์‹œ ๋™์ž‘ํ•ด์•ผํ•˜๋Š” ํ•จ์ˆ˜์—๋Š” bind๋ฅผ ํ•ญ์ƒ ๋ถ™์—ฌ์•ผ ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ(eventHandler๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ)์—๋Š” ๊ตณ์ด bind๋ฅผ ๋ถ™์ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ toggleList ํ•จ์ˆ˜๊ฐ€ onClick์— ์˜ํ•ด ์ž‘๋™ํ•  ๋• bind๋กœ ๋ฌถ์–ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<div class="list_title">
	<button onClick={this.toggleList.bind(this, key)}> aa </button>
</div>

 

2. setState ํ•จ์ˆ˜ ๋‚ด๋ถ€๋„ ์—„์—ฐํžˆ ํ•˜๋‚˜์˜ scope์ž…๋‹ˆ๋‹ค!

this.setState({currBtn: btn}, () => {
	this.props.functionA(currBtn)
	})

 

setStateํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์ฒซ๋ฒˆ์งธ currBtn์—๋Š” this.state๋ฅผ ๋ถ™์ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ props์ธ functionA ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ (๋‘๋ฒˆ์งธ) currBtn์€ this.state๋ฅผ ๋ถ™์—ฌ์ฃผ์–ด, currBtn ๋ณ€์ˆ˜๊ฐ€ state์ž„์„ ๋ช…์‹œํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

this.setState({currBtn: btn}, () => {
	this.props.functionA(this.state.currBtn)
	})
    
// ๋˜๋Š”

let(currBtn) = this.state
this.setState({currBtn: btn}, () => {
	this.props.functionA(currBtn)
	})

'๐Ÿ“” TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

{TIL} 210221  (0) 2021.02.21
{TIL} 0218  (0) 2021.02.18
{TIL} 0208  (0) 2021.02.08
{TIL} 0201 Object.assign()  (0) 2021.02.02
ls / cd ์ปค๋งจ๋“œ ๊ณ ๊ธ‰ ์‚ฌ์šฉ๋ฒ•  (0) 2020.10.28