├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ └── codeStyleConfig.xml ├── inspectionProfiles │ └── Project_Default.xml ├── jsLinters │ └── eslint.xml ├── misc.xml ├── modules.xml ├── my-app.iml ├── prettier.xml └── vcs.xml ├── .prettierignore ├── .prettierrc.json ├── README.md ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt └── src ├── App.css ├── App.js ├── components ├── batch-state-update │ ├── BatchStateUpdate.jsx │ ├── cases │ │ ├── AsyncDataUpdate.jsx │ │ ├── BrowserDataUpdate.jsx │ │ └── UnstableDataUpdate.jsx │ └── utils.js ├── context-update │ ├── ContextUpdate.jsx │ └── cases │ │ ├── UpdateCtx.jsx │ │ ├── UpdateCtxBits.jsx │ │ └── UpdateCtxChildren.jsx ├── presentation │ └── Presentation.jsx └── props-update │ ├── PropsUpdate.jsx │ └── cases │ ├── BrokenMemo2Inputs.jsx │ ├── ControlledInput.jsx │ ├── FixMemo2Inputs.jsx │ ├── InputWithChildren.jsx │ ├── MemoTwoInputs.jsx │ └── TwoInputs.jsx ├── hooks ├── useRenderCount.jsx └── useRenderCounter.js ├── index.css ├── index.js ├── pages.jsx ├── shared ├── MyBox.jsx ├── ParentPaper.jsx └── index.jsx ├── static └── media │ ├── memo_intro.png │ ├── memo_pocket.jpeg │ ├── rail_fail.jpeg │ └── useCallback_intro.png └── utils.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /.idea/jsLinters/eslint.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/jsLinters/eslint.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/my-app.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/my-app.iml -------------------------------------------------------------------------------- /.idea/prettier.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/prettier.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build 3 | coverage 4 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/package.json -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/index.html -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/public/robots.txt -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/App.css -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/App.js -------------------------------------------------------------------------------- /src/components/batch-state-update/BatchStateUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/batch-state-update/BatchStateUpdate.jsx -------------------------------------------------------------------------------- /src/components/batch-state-update/cases/AsyncDataUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/batch-state-update/cases/AsyncDataUpdate.jsx -------------------------------------------------------------------------------- /src/components/batch-state-update/cases/BrowserDataUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/batch-state-update/cases/BrowserDataUpdate.jsx -------------------------------------------------------------------------------- /src/components/batch-state-update/cases/UnstableDataUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/batch-state-update/cases/UnstableDataUpdate.jsx -------------------------------------------------------------------------------- /src/components/batch-state-update/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/batch-state-update/utils.js -------------------------------------------------------------------------------- /src/components/context-update/ContextUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/context-update/ContextUpdate.jsx -------------------------------------------------------------------------------- /src/components/context-update/cases/UpdateCtx.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/context-update/cases/UpdateCtx.jsx -------------------------------------------------------------------------------- /src/components/context-update/cases/UpdateCtxBits.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/context-update/cases/UpdateCtxBits.jsx -------------------------------------------------------------------------------- /src/components/context-update/cases/UpdateCtxChildren.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/context-update/cases/UpdateCtxChildren.jsx -------------------------------------------------------------------------------- /src/components/presentation/Presentation.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/presentation/Presentation.jsx -------------------------------------------------------------------------------- /src/components/props-update/PropsUpdate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/PropsUpdate.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/BrokenMemo2Inputs.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/BrokenMemo2Inputs.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/ControlledInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/ControlledInput.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/FixMemo2Inputs.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/FixMemo2Inputs.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/InputWithChildren.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/InputWithChildren.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/MemoTwoInputs.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/MemoTwoInputs.jsx -------------------------------------------------------------------------------- /src/components/props-update/cases/TwoInputs.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/components/props-update/cases/TwoInputs.jsx -------------------------------------------------------------------------------- /src/hooks/useRenderCount.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/hooks/useRenderCount.jsx -------------------------------------------------------------------------------- /src/hooks/useRenderCounter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/hooks/useRenderCounter.js -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/index.css -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/index.js -------------------------------------------------------------------------------- /src/pages.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/pages.jsx -------------------------------------------------------------------------------- /src/shared/MyBox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/shared/MyBox.jsx -------------------------------------------------------------------------------- /src/shared/ParentPaper.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/shared/ParentPaper.jsx -------------------------------------------------------------------------------- /src/shared/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/shared/index.jsx -------------------------------------------------------------------------------- /src/static/media/memo_intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/static/media/memo_intro.png -------------------------------------------------------------------------------- /src/static/media/memo_pocket.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/static/media/memo_pocket.jpeg -------------------------------------------------------------------------------- /src/static/media/rail_fail.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/static/media/rail_fail.jpeg -------------------------------------------------------------------------------- /src/static/media/useCallback_intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/static/media/useCallback_intro.png -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greyGroot/how-to-fail-react-render-optimization/HEAD/src/utils.js --------------------------------------------------------------------------------