Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "usecallback"
-
PR comment: You don't need this useCallback and this useMemo, it's premature optimization, this component will not have a lot of rerenders anyway.
*remove it and merge it*
Few weeks later...
Slack message: why the app is so slow???
*opens a PR putting back all "premature" optimizations*
PR comment: Hum... I don't think that's it, but let's try it.
*merge it*
*slowness is gone*
Slack message: wow! How did you figured out so quickly???
Me: I was lucky, I guess ¯\_(ツ)_/¯2 -
Neat trick that I discovered today:
Because React.useCallback is a thing, you never need a custom react hook to take a dependency array. You can always express your dependencies by wrapping the callback in useCallback and having useCustom pass the callback itself as its own dependency. -
React's useMemo, useCallback are just sad attempts at patching up a bad reactivity model. We should seriously move on from this hot pile of garbage.4
-
Last week I conducted a FE React-JS tech interview (high-level, no coding challenge) with a potential new hire. He knew his stuff in React 16.8+ but I was baffled npm install was the only npm command he could name, he'd never heard about semver, never used SASS, and didn't have any Nodejs exp. I asked him to name a tough situation he encountered and solved in React, and he said "too many re-renders, so we used useMemo and useCallback" but that's kind of basic and it was evident he didn't understand this meant passing props by reference under the hood. So I wrote a very mixed report, but this is only the 3rd interview conducted. Was I too harsh? To me this signaled a lack of curiosity (especially for a self-taught programmer which he was). My manager was kind of disappointed about the guy following my report.