버튼을 클릭하면 handleClick
이 호출되어 버튼 값이 0에서 1 씩 증가합니다. 두 가지 시나리오에서 handleClick
코드를 작동 시켰습니다. 나는 첫번째 것을 이해한다, 나는 두 번째 것을 이해하지 못하는 것 같다.React에서이 두 ES6 화살표 함수의 차이점은 무엇입니까?
나는 이것을 작성했습니다. 그리고 그것은 작동합니다.
handleClick =() => {
this.setState({count: this.state.count + 1})
}
튜토리얼이 하나를 보여주고 너무 작동합니다. 나는이에 코드를 변경하는 경우
handleClick =() => {
this.setState(({count}) => ({
count: count + 1
}))
}
이 너무 작동합니다.
handleClick =() => {
this.setState(() => ({
count: this.state.count + 1
}))
}
이 같은 일을하지만 첫 번째보다 더 복잡 할 때 코드의 제 2 몸체를 사용의 장점은 무엇입니까?
기본적으로 첫 번째 코드 본문에서 생성하는 대신 리터럴을 반환한다는 것을 알고 있습니다. 그런데 왜 내가 매개 변수를 비울 수 있고 몸에 this.state.count
을 사용할 수있을 때 매개 변수로 {count}
을 전달합니까?
https://stackoverflow.com/questions/37661166/what-do-function-parameter-lists-inside-of-curly-braces-do-in-es6 – epascarello
@epascarello 감사합니다. 상태가 함수에 자동으로 전달됩니까? 왜냐하면 만약 내가 올바르게 이해한다면, 내가 파기하지 않으면 그 물체를 함수에 전달해야하기 때문입니다. 하지만'this.state.count'에서 count에 접근 할 때 매개 변수를 전달하지 않습니다. – MiniGunnR