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 |