Giter Site home page Giter Site logo

Comments (10)

bvaughn avatar bvaughn commented on March 29, 2024 1

@Frazer The overhead of creating a function during render is rarely a performance problem. We do it all the time to add event handlers, map arrays, etc. The new hooks API also makes heavy use of this pattern for hooks like useEffect and useMemo (which require creating a function every render, even if it's not called every render).

When it can be a problem is when it breaks memoization and causes a performance sensitive subtree of your application to re-render when it would otherwise not have re-rendered. This is something the DevTools Profiler UI can help you identify and fix though.

from reactjs.org.

swyxio avatar swyxio commented on March 29, 2024

will work on this

from reactjs.org.

bvaughn avatar bvaughn commented on March 29, 2024

This issue is all yours! 😄

I've added an "in-progress" label so that others will know not to start work on the issue. If you change your mind about the issue, no worries! Just let me know so that I can remove the label and free it up for someone else to claim.

Cheers!

from reactjs.org.

alexkrolick avatar alexkrolick commented on March 29, 2024

This topic was also been suggested for the FAQ in #29, so I included some comments in PR #43 (diff).

It might be a good idea to merge the docs on this subject, or link from one to the other.

from reactjs.org.

Frazer avatar Frazer commented on March 29, 2024

I think @hedgerh suggestion should also be included.

<button name='23' onClick={this.deleteRow}>Delete Row</button>

deleteRow (e) {
// do some action to (e.target.name)
}

from reactjs.org.

alexkrolick avatar alexkrolick commented on March 29, 2024

@Frazer added to the FAQ version of this topic: b2ef5ff

from reactjs.org.

alexkrolick avatar alexkrolick commented on March 29, 2024

Closed by #81 I think

from reactjs.org.

gfortaine avatar gfortaine commented on March 29, 2024

@StokeMasterJack @bvaughn There is also a third way through currying (see How to pass variables to a function reference?, thx @esthercuan) 👍

deleteRow = id => event => {
    event.preventDefault();
    console.log('row ${id} deleted');
 }

<button onClick={this.deleteRow(23)}>Delete Row</button>

from reactjs.org.

Frazer avatar Frazer commented on March 29, 2024

from reactjs.org.

swyxio avatar swyxio commented on March 29, 2024

how many times do we need to have this debate in react.

from reactjs.org.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.