ボタンをクリックすると、ボタンの値が0から1だけ増加するが呼び出されます。 のコードを2つの異なるシナリオで作成しました。私は最初のことを理解しています、私は第二のものを把握していないようです。Reactの2つの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'からのカウントにアクセスするときにパラメータを渡していません。 – MiniGunnR