5

私は反応再構成ライブラリを見て、ここで違いを把握しようとしましたが、結果は同じで、ドキュメントを読んでみましたが、さらに混乱しました.なぜ同じことをするのに2つの方法があるのですか?

const enhance = compose(
  withState('counter', 'setCounter', 0),
  withHandlers({
    increment: props => () => props.setCounter(n => n + 1),
    decrement: props => () => props.setCounter(n => n - 1)
  })
)

const enhance = compose(
  withState('counter', 'setCounter', 0),
  withProps(({ setCounter }) => ({
    increment: () => setCounter(n => n + 1),
    decrement: () => setCounter(n => n - 1)
  }))
)
4

2 に答える 2

8

ファビアン・シュルツの回答に加えて、関数を追加できるだけでなくwithProps、あらゆるタイプの小道具を追加するために使用できることに注意してください。withHandlers

したがって、関数を追加するwithHandlersときは、パフォーマンスのために可能な限り使用してください。他に何かを追加するときは、を使用しますwithProps(またはmapProps、他のすべての小道具を削除する場合)。

于 2017-05-15T11:44:23.610 に答える