66597be8a7
### Reason for making this change https://yarnpkg.com/getting-started/qa#:~:text=yarn%2Finstall%2Dstate.,your%20workspaces%20all%20over%20again. In the official documentation of `yarn`, it is stated that `.yarn/install-state.gz` is an optimization file that developer shouldn't ever have to commit. However, currently, when running `create-next-app`, `.yarn/install-state.gz` is being commited. ### Remaining work I apologize for only modifying one template initially to initiate the discussion first. If this change is agreed upon, it should be synchronized with other `.gitignore` templates. Would it be possible to follow a similar approach as in https://github.com/vercel/next.js/pull/47241? I would appreciate any assistance in syncing this change. |
||
---|---|---|
.. | ||
components | ||
pages | ||
scripts | ||
.gitignore | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
tsconfig.json |
Why did you render
This is a simple example of how to use why-did-you-render within a Next.js app.
We are essentially extending webpack config to allow the monkey patched React
version of WDYR in development mode and adding to our application
by importing wdyr.ts
at the top of Next.js _app.tsx
.
By default, all pure components will be tracked, but you can add
Component.whyDidYouRender = true
to regular function components in case you need.
In this example, the header component will rerender despite the state staying the same.
You can see why-did-you-render
console logs about this redundant re-render in the developer console.
When using Typescript, call the file wdyr.ts
instead and add the following line to the top of the file to import the package's types:
/// <reference types="@welldone-software/why-did-you-render" />
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
How to use
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example with-why-did-you-render with-why-did-you-render-app
yarn create next-app --example with-why-did-you-render with-why-did-you-render-app
pnpm create next-app --example with-why-did-you-render with-why-did-you-render-app
Deploy it to the cloud with Vercel (Documentation).