Most efficient way to pass parameters in onClick handler

后端 未结 4 403
生来不讨喜
生来不讨喜 2021-01-02 04:09

I am using inline arrow function to change the onClick handlers of some divs in my React component, but I know it is not a good way in terms of performance.

4条回答
  •  自闭症患者
    2021-01-02 04:37

    #1 is fine.

    #2 is also 'fine', but you need to pass props, then the render function will look exactly like #1. You will be calling the bind'd function, because you replaced it in the constructor.

    #3 is just wrong, as the function gets called during render.

    And regarding #4, from react docs

    We generally recommend binding in the constructor or using the class fields syntax, to avoid this sort of performance problem.

    This causes a performance penalty when your function is used in its child components and will cause the child components to re-render (its not in your case). So you shouldn't do #4.

提交回复
热议问题