react-render-tracker
why-did-you-render
Our great sponsors
react-render-tracker | why-did-you-render | |
---|---|---|
2 | 47 | |
2,164 | 10,763 | |
- | 1.2% | |
7.4 | 7.0 | |
12 days ago | 17 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.
react-render-tracker
-
lahmatiy/react-render-tracker: React render tracker – a tool to discover performance issues related to unintentional re-renders and unmounts
Since RRT is on MVP stage, that's the main difference for now. [More features are planned](https://github.com/lahmatiy/react-render-tracker/issues/6), like better stats, viz improvements, non-ui client API and event log dumping for using on CI etc.
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?
rempl - Framework for moderated access with custom UI to remote JavaScript runtime
craco - Create React App Configuration Override, an easy and comprehensible configuration layer for Create React App.
cosmos-js - Sandbox for developing and testing UI components in isolation
use-what-changed - A React hook and an easy to use babel-pugin to debug various React official hooks
react-functional-select - Micro-sized & micro-optimized select component for React.js
nextjs-rewrite-test
react-cool-virtual - 😎 ♻️ A tiny React hook for rendering large datasets like a breeze.
react-devtools - An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools.
reassure - Performance testing companion for React and React Native
razzle - ✨ Create server-rendered universal JavaScript applications with no configuration
WebdriverIO - Next-gen browser and mobile automation test framework for Node.js
RunJS - RunJS is a JavaScript playground for macOS, Windows and Linux. Write code with instant feedback and access to Node.js and browser APIs.