use-what-changed
why-did-you-render
use-what-changed | why-did-you-render | |
---|---|---|
3 | 47 | |
611 | 10,799 | |
- | 0.6% | |
0.0 | 7.1 | |
over 1 year ago | 6 days ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
use-what-changed
-
Thoughts on useEffect ?
https://github.com/simbathesailor/use-what-changed Hope this helps someone.
-
What’s the most underrated Developer Tools debugging Tip/Trick?
https://github.com/simbathesailor/use-what-changed - what's nice about it is it gives detailed information about why a component renders, upon each render, along with diffs of what actually changed. It works for hooks - I haven't found a really good trick for debugging context renders yet though.
-
As the creator of "why-did-you-render" I would like to ask you if and how do you use it?
Nowadays, I tend to opt for the useWhatChanged hook. Ergonomically it's a little easier, and its plug-and-play use makes it very attractive.
why-did-you-render
- Too many rerenders in react?
- Lag issues with RN
- After a year developing with react, I think I've been doing all wrong
- How can I stop a component from reloading all the time?.
-
How to speed up React Native screen when full of TextInput?
Check out why-did-you-render. It may tell you some more information.
-
Why and How We Retired Elm at Culture Amp
It's a combination of many things, but imo one of the worst is all the footguns regarding state and the rerenders they cause
https://emnudge.dev/blog/react-hostage
It's so easy, that we monkey patch react to debug it https://github.com/welldone-software/why-did-you-render
Plus the vdom... Isn't great, the bundle size puts react at an inherit disadvantage, and the community has a knack for over reliance on bloated packages
-
7 Proven Practices to Boost Development Speed and Project Quality
When we implemented the MVP of the fintech app, we had a quite complicated form. At that time, I was still young and inexperienced. And eventually, we realized that our project was slowing down. We had to spend additional hours figuring out the reason. We had many unnecessary re-renders because we ignored basic rules related to props in React. I wanted to do everything possible to avoid such situations in the future. So, I added to the project linters like this and an additional starting configuration to package.json to run why-did-you-render. In short, this plugin issues a warning if something is re-rendered unnecessarily and suggests how to avoid it. Also, we included running Lighthouse in headless mode. Some people say that premature optimizations are bad, but for me, it's a principle: do it right from the start.
- Free code review
-
Is there a way to detect unwanted mutations in a React component?
maybe somethin like https://github.com/welldone-software/why-did-you-render
-
React Dev Tools: much worse experience with functions/hooks
This might help you out a bit.
What are some alternatives?
tamperchrome - Tamper Dev is an extension that allows you to intercept and edit HTTP/HTTPS requests and responses as they happen without the need of a proxy. Works across all operating systems (including Chrome OS).
craco - Create React App Configuration Override, an easy and comprehensible configuration layer for Create React App.
usehooks - A collection of modern, server-safe React hooks – from the ui.dev team
nextjs-rewrite-test
debug - A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
react-render-tracker - React render tracker – a tool to discover performance issues related to unintentional re-renders and unmounts
use-clean-effect - An extension of React useEffect without the need for clean-up functions
react-devtools - An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools.
eslint-plugin-react - React-specific linting rules for ESLint
razzle - ✨ Create server-rendered universal JavaScript applications with no configuration
ignite-bowser - Bowser is now re-integrated into Ignite CLI! Head to https://github.com/infinitered/ignite to check it out.
RunJS - RunJS is a JavaScript playground for macOS, Windows and Linux. Write code with instant feedback and access to Node.js and browser APIs.