Showing preview only (689K chars total). Download the full file or copy to clipboard to get everything.
Repository: gaearon/react-hot-loader
Branch: master
Commit: 07d1f4e080f1
Files: 323
Total size: 617.5 KB
Directory structure:
gitextract_mfr81t7r/
├── .babelrc
├── .eslintignore
├── .eslintrc.js
├── .gitattributes
├── .gitignore
├── .prettierignore
├── .prettierrc
├── .travis.yml
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PATRONS.md
├── README.md
├── babel.js
├── docs/
│ └── Troubleshooting.md
├── examples/
│ ├── SSR/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ ├── HiddenComponent.js
│ │ │ ├── index.js
│ │ │ ├── server.js
│ │ │ └── template.js
│ │ └── webpack.config.babel.js
│ ├── all-possible-containers/
│ │ ├── .babelrc
│ │ ├── .editorconfig
│ │ ├── .flowconfig
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── components/
│ │ │ │ ├── App.js
│ │ │ │ ├── ChildrenAsFunctionComponent.js
│ │ │ │ ├── ChildrenAsFunctionExample.js
│ │ │ │ ├── ClassComponent.js
│ │ │ │ ├── ConnectedChildrenAFComponent.js
│ │ │ │ ├── ConsumerClassComponent.js
│ │ │ │ ├── ConsumerConnectedComponent.js
│ │ │ │ ├── ConsumerFunctionComponent.js
│ │ │ │ ├── ConsumerPureClassComponent.js
│ │ │ │ ├── Counter.js
│ │ │ │ ├── ErrorBoundary.js
│ │ │ │ ├── FunctionComponent.js
│ │ │ │ ├── FunctionConsumerPureClassComponent.js
│ │ │ │ ├── Hook.js
│ │ │ │ ├── LazyComponent.js
│ │ │ │ ├── Modal.js
│ │ │ │ ├── ModalComponent.js
│ │ │ │ ├── PureClassComponent.js
│ │ │ │ ├── SomethingWithHooks.js
│ │ │ │ └── _editMe.js
│ │ │ ├── context.js
│ │ │ ├── index.js
│ │ │ └── wcl.js
│ │ └── webpack.config.js
│ ├── async-components/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ ├── Counter2.js
│ │ │ ├── chunks/
│ │ │ │ ├── async-component.js
│ │ │ │ ├── loadable-components.js
│ │ │ │ ├── react-imported-component.js
│ │ │ │ ├── react-loadable.js
│ │ │ │ └── react-universal-component.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── async-portals/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ ├── DeferredRender.js
│ │ │ ├── HiddenComponent.js
│ │ │ ├── Portal.js
│ │ │ ├── async-component.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── decorators/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── electron-typescript/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── app/
│ │ │ ├── App.tsx
│ │ │ ├── Counter.tsx
│ │ │ ├── development.html
│ │ │ ├── index.tsx
│ │ │ └── production.html
│ │ ├── main.js
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ └── webpack.config.js
│ ├── hotCold/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ ├── index.js
│ │ │ └── reactHotLoader.setup.js
│ │ └── webpack.config.babel.js
│ ├── indeterminateComponent/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── mobx/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── multiple-hocs/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── parcel/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ └── src/
│ │ ├── App.js
│ │ ├── Counter.js
│ │ ├── Problem.js
│ │ └── index.js
│ ├── preact/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ ├── Internal.js
│ │ │ ├── hotLoaderSetup.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── react-bootstrap/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── react-refetch/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Characters.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── redux/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── index_csp.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── HookComponent.js
│ │ │ ├── MyComponent.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── styled-components/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── index_csp.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Async.js
│ │ │ ├── Counter.js
│ │ │ ├── Spring.js
│ │ │ ├── config.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ ├── typescript/
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.tsx
│ │ │ ├── Counter.tsx
│ │ │ └── index.tsx
│ │ ├── tsconfig.json
│ │ └── webpack.config.babel.js
│ ├── typescript-no-babel/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.tsx
│ │ │ ├── Counter.tsx
│ │ │ └── index.tsx
│ │ ├── tsconfig.json
│ │ └── webpack.config.js
│ ├── webpack/
│ │ ├── .babelrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.js
│ │ │ ├── Counter.js
│ │ │ └── index.js
│ │ └── webpack.config.babel.js
│ └── webpack-modern/
│ ├── .babelrc
│ ├── .gitignore
│ ├── package.json
│ ├── src/
│ │ ├── App.js
│ │ ├── Counter.js
│ │ └── index.js
│ └── webpack.config.babel.js
├── index.d.ts
├── index.js
├── package.json
├── patch.js
├── rollup.config.js
├── root.d.ts
├── root.js
├── scripts/
│ ├── ci.sh
│ ├── react-15.ci.sh
│ ├── react-16.ci.sh
│ └── react-17.ci.sh
├── src/
│ ├── AppContainer.dev.js
│ ├── AppContainer.prod.js
│ ├── adapters/
│ │ └── preact.js
│ ├── babel.dev.js
│ ├── babel.prod.js
│ ├── configuration.js
│ ├── errorReporter.js
│ ├── fresh/
│ │ └── babel.js
│ ├── global/
│ │ ├── generation.js
│ │ └── modules.js
│ ├── hot.dev.js
│ ├── hot.prod.js
│ ├── index.dev.js
│ ├── index.prod.js
│ ├── internal/
│ │ ├── constants.js
│ │ ├── getReactStack.js
│ │ ├── reactUtils.js
│ │ └── stack/
│ │ ├── hydrateFiberStack.js
│ │ └── hydrateLegacyStack.js
│ ├── logger.js
│ ├── proxy/
│ │ ├── constants.js
│ │ ├── createClassProxy.js
│ │ ├── index.js
│ │ ├── inject.js
│ │ ├── transferStaticProps.js
│ │ └── utils.js
│ ├── reactHotLoader.js
│ ├── reconciler/
│ │ ├── componentComparator.js
│ │ ├── fiberUpdater.js
│ │ ├── hotReplacementRender.js
│ │ ├── index.js
│ │ ├── proxies.js
│ │ ├── proxyAdapter.js
│ │ ├── resolver.js
│ │ └── utils.js
│ ├── utils/
│ │ └── runQueue.js
│ ├── utils.dev.js
│ ├── utils.prod.js
│ └── webpack/
│ ├── index.js
│ ├── makeIdentitySourceMap.js
│ ├── patch.js
│ └── webpackTagCommonJSExports.js
├── test/
│ ├── .eslintrc.js
│ ├── AppContainer.dev.test.js
│ ├── __babel_fixtures__/
│ │ ├── bindings.js
│ │ ├── class-properties/
│ │ │ ├── arguments.js
│ │ │ ├── arrow-function-in-constructor.js
│ │ │ ├── async-functions-expression-body.js
│ │ │ ├── async-functions.js
│ │ │ ├── block-body.js
│ │ │ ├── default-params.js
│ │ │ ├── destructured-params.js
│ │ │ ├── expression-body.js
│ │ │ ├── nested-arguments.js
│ │ │ ├── nested-new.target.js
│ │ │ ├── new.target.js
│ │ │ ├── not-a-function.js
│ │ │ ├── not-an-arrow-function.js
│ │ │ ├── same-name-as-class-method.js
│ │ │ └── static-property.js
│ │ ├── counter.js
│ │ ├── drop-hot-half.prod.js
│ │ ├── drop-hot.prod.js
│ │ ├── hooks.js
│ │ ├── issue-246.js
│ │ ├── local-hooks.js
│ │ └── name-clash.js
│ ├── __snapshots__/
│ │ └── babel.test.js.snap
│ ├── babel.test.js
│ ├── build.test.js
│ ├── cases/
│ │ ├── hooks/
│ │ │ └── useContext.test.js
│ │ └── memo/
│ │ └── memo.test.js
│ ├── global/
│ │ ├── generation.test.js
│ │ └── modules.test.js
│ ├── hot/
│ │ ├── .gitignore
│ │ ├── createPatchedReact.js
│ │ ├── react-dom.integration.spec.js
│ │ └── react-dom.no-integration.spec.js
│ ├── hot.dev.test.js
│ ├── index.dev.test.js
│ ├── internal/
│ │ ├── getReactStack.test.js
│ │ └── reactUtils.test.js
│ ├── prod/
│ │ ├── AppContainer.prod.test.js
│ │ ├── hot.prod.test.js
│ │ └── utils.prod.test.js
│ ├── proxy/
│ │ ├── consistency.test.js
│ │ ├── helper.js
│ │ ├── instance-descriptor.test.js
│ │ ├── instance-method.test.js
│ │ ├── instance-property.test.js
│ │ ├── lifecycle-method.test.js
│ │ ├── static-descriptor.test.js
│ │ ├── static-method.test.js
│ │ ├── static-property.test.js
│ │ └── unmounting.test.js
│ ├── reactHotLoader.test.js
│ ├── reconciler/
│ │ └── proxyAdapter.test.js
│ ├── reconciler.test.js
│ └── utils.test.js
├── testConfig/
│ ├── babel.js
│ └── setupTests.js
└── webpack.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": [
[
"env",
{
"modules": false,
"loose": true
}
],
"react"
],
"plugins": [
["transform-class-properties", { "loose": true }],
"transform-object-rest-spread",
"dynamic-import-node"
]
}
================================================
FILE: .eslintignore
================================================
node_modules/
__babel_fixtures__/
dist/
coverage/
examples/
babel.js
index.js
patch.js
webpack.js
root.js
test/hot/react-dom
================================================
FILE: .eslintrc.js
================================================
module.exports = {
extends: ['airbnb', 'prettier', 'prettier/react'],
parser: 'babel-eslint',
rules: {
'no-underscore-dangle': ['error', { allow: ['__standin_getCurrent'] }],
'no-console': ['error', { allow: ['warn', 'error'] }],
'no-plusplus': 'off',
'no-continue': 'off',
'no-restricted-syntax': 'off',
'no-prototype-builtins': 'off',
'no-param-reassign': 'off',
'no-constant-condition': 'off',
'no-shadow': 'off',
'class-methods-use-this': 'off',
'import/no-extraneous-dependencies': 'off',
'import/prefer-default-export': 'off',
'react/prop-types': 'off',
'react/prefer-stateless-function': 'off',
'react/no-multi-comp': 'off',
'react/prefer-es6-class': 'off',
'react/jsx-filename-extension': ['error', { extensions: ['.js'] }],
'react/require-default-props': 'off',
'jsx-a11y/no-static-element-interactions': 'off',
'jsx-a11y/click-events-have-key-events': 'off',
},
globals: {
__REACT_HOT_LOADER__: true,
},
};
================================================
FILE: .gitattributes
================================================
*.js text eol=lf
================================================
FILE: .gitignore
================================================
node_modules/
dist/
coverage/
.DS_Store
================================================
FILE: .prettierignore
================================================
__babel_fixtures__/
__snapshots__/
node_modules/
dist/
package.json
CHANGELOG.md
.cache
babel.js
index.js
patch.js
root.js
test/hot/react-dom
coverage
================================================
FILE: .prettierrc
================================================
{
"singleQuote": true,
"trailingComma": "all",
"semi": true,
"printWidth": 120
}
================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
- 8
- 10
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.3.2
- export PATH="$HOME/.yarn/bin:$PATH"
script:
- yarn ci
notifications:
email: false
cache:
yarn: true
directories:
- ".eslintcache"
- "node_modules"
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": ["orta.vscode-jest", "editorconfig.editorconfig", "dbaeumer.vscode-eslint"]
}
================================================
FILE: .vscode/settings.json
================================================
{
"debug.node.autoAttach": "on"
}
================================================
FILE: CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [4.13.0](https://github.com/gaearon/react-hot-loader/compare/v4.12.20...v4.13.0) (2020-09-22)
### Bug Fixes
* tailUpdate might be blocked by a PureComponent ([#1448](https://github.com/gaearon/react-hot-loader/issues/1448)) ([e44103a](https://github.com/gaearon/react-hot-loader/commit/e44103a))
* when module.hot is not truthy ([#1451](https://github.com/gaearon/react-hot-loader/issues/1451)) ([ec3447f](https://github.com/gaearon/react-hot-loader/commit/ec3447f))
### Features
* support React 17 ([#1557](https://github.com/gaearon/react-hot-loader/issues/1557)) ([c05396b](https://github.com/gaearon/react-hot-loader/commit/c05396b)), closes [#1425](https://github.com/gaearon/react-hot-loader/issues/1425)
### [4.12.21](https://github.com/gaearon/react-hot-loader/compare/v4.12.20...v4.12.21) (2020-04-30)
### Bug Fixes
* add peerDependenciesMeta in package.json (#1433)
### [4.12.20](https://github.com/gaearon/react-hot-loader/compare/v4.12.19...v4.12.20) (2020-03-14)
### Bug Fixes
* patch support for react-dom 16.13 ([#1428](https://github.com/gaearon/react-hot-loader/issues/1428)) ([5475fe7](https://github.com/gaearon/react-hot-loader/commit/5475fe7))
### [4.12.19](https://github.com/gaearon/react-hot-loader/compare/v4.12.18...v4.12.19) (2020-01-22)
### Bug Fixes
* don't record signatures of local hooks, fixes [#1412](https://github.com/gaearon/react-hot-loader/issues/1412) ([#1413](https://github.com/gaearon/react-hot-loader/issues/1413)) ([c159844](https://github.com/gaearon/react-hot-loader/commit/c159844))
### [4.12.18](https://github.com/gaearon/react-hot-loader/compare/v4.12.17...v4.12.18) (2019-11-16)
### Bug Fixes
* (regression) hook order change is causing React error, fixes [#1393](https://github.com/gaearon/react-hot-loader/issues/1393) ([6707b4b](https://github.com/gaearon/react-hot-loader/commit/6707b4b))
* production babel plugin might perform eager replacement, fixes [#1388](https://github.com/gaearon/react-hot-loader/issues/1388) ([b94adb3](https://github.com/gaearon/react-hot-loader/commit/b94adb3))
### [4.12.17](https://github.com/gaearon/react-hot-loader/compare/v4.12.16...v4.12.17) (2019-11-12)
### Bug Fixes
* move @types/react from to peer dependencies, fixes [#1391](https://github.com/gaearon/react-hot-loader/issues/1391) ([5ab2cab](https://github.com/gaearon/react-hot-loader/commit/5ab2cab))
### [4.12.16](https://github.com/gaearon/react-hot-loader/compare/v4.12.15...v4.12.16) (2019-11-06)
### Bug Fixes
* dont write to elementType if it is not defined, fixes [#1357](https://github.com/gaearon/react-hot-loader/issues/1357) ([1072303](https://github.com/gaearon/react-hot-loader/commit/1072303))
* explain why RHL could not be activated, fixes [#1362](https://github.com/gaearon/react-hot-loader/issues/1362) ([9561d66](https://github.com/gaearon/react-hot-loader/commit/9561d66))
* more @types/react to dependencies, fixes [#1359](https://github.com/gaearon/react-hot-loader/issues/1359) ([af42c1a](https://github.com/gaearon/react-hot-loader/commit/af42c1a))
* use logger.warn instead of console to report tail update, fixes [#1386](https://github.com/gaearon/react-hot-loader/issues/1386) ([fbc890a](https://github.com/gaearon/react-hot-loader/commit/fbc890a))
<a name="4.12.15"></a>
## [4.12.15](https://github.com/gaearon/react-hot-loader/compare/v4.12.14...v4.12.15) (2019-10-08)
### Bug Fixes
* React 16.10 support ([b7ed82a](https://github.com/gaearon/react-hot-loader/commit/b7ed82a))
<a name="4.12.14"></a>
## [4.12.14](https://github.com/gaearon/react-hot-loader/compare/v4.12.13...v4.12.14) (2019-09-23)
### Bug Fixes
* autodetect underupdated state and trigger an automatic update, fixes [#1342](https://github.com/gaearon/react-hot-loader/issues/1342) ([33c54f5](https://github.com/gaearon/react-hot-loader/commit/33c54f5))
* resolve all components to their last versions, [#1342](https://github.com/gaearon/react-hot-loader/issues/1342) ([62bc67e](https://github.com/gaearon/react-hot-loader/commit/62bc67e))
<a name="4.12.13"></a>
## [4.12.13](https://github.com/gaearon/react-hot-loader/compare/v4.12.12...v4.12.13) (2019-09-12)
### Bug Fixes
* error overlay should not be injected into the first instance, fixes [#1337](https://github.com/gaearon/react-hot-loader/issues/1337) ([c019663](https://github.com/gaearon/react-hot-loader/commit/c019663))
* return null for null types, fixes [#1324](https://github.com/gaearon/react-hot-loader/issues/1324) ([08d7ed1](https://github.com/gaearon/react-hot-loader/commit/08d7ed1))
* run hot in batched mode, fixes [#1332](https://github.com/gaearon/react-hot-loader/issues/1332) ([e801daf](https://github.com/gaearon/react-hot-loader/commit/e801daf))
<a name="4.12.12"></a>
## [4.12.12](https://github.com/gaearon/react-hot-loader/compare/v4.12.11...v4.12.12) (2019-08-27)
### Bug Fixes
* error overlay could fail by itself ([da50985](https://github.com/gaearon/react-hot-loader/commit/da50985))
* resolve undefined types to undefined, fixes [#1324](https://github.com/gaearon/react-hot-loader/issues/1324) ([73eeb4e](https://github.com/gaearon/react-hot-loader/commit/73eeb4e))
* speedup levenshtein comparison, fixes [#1087](https://github.com/gaearon/react-hot-loader/issues/1087) ([b81dcb0](https://github.com/gaearon/react-hot-loader/commit/b81dcb0))
<a name="4.12.11"></a>
## [4.12.11](https://github.com/gaearon/react-hot-loader/compare/v4.12.10...v4.12.11) (2019-08-12)
### Features
* react 16.9 support, [1320](https://github.com/gaearon/react-hot-loader/pull/1320) by @Bnaya
### Bug Fixes
* add noRegister option to webpack, [#1315](https://github.com/gaearon/react-hot-loader/issues/1315) ([e562375](https://github.com/gaearon/react-hot-loader/commit/e562375))
* remove circular deps from hot-loader ([2cb544d](https://github.com/gaearon/react-hot-loader/commit/2cb544d))
<a name="4.12.10"></a>
## [4.12.10](https://github.com/gaearon/react-hot-loader/compare/v4.12.9...v4.12.10) (2019-07-27)
### Bug Fixes
* append react-hot-dom patch note to the ProxyFacade, fixes [#1311](https://github.com/gaearon/react-hot-loader/issues/1311) ([81bbb6a](https://github.com/gaearon/react-hot-loader/commit/81bbb6a))
* use void IIFE for webpack plugin, fixes [#1309](https://github.com/gaearon/react-hot-loader/issues/1309) ([6089822](https://github.com/gaearon/react-hot-loader/commit/6089822))
<a name="4.12.9"></a>
## [4.12.9](https://github.com/gaearon/react-hot-loader/compare/v4.12.8...v4.12.9) (2019-07-23)
### Bug Fixes
* forcely update Context Provider, fixes [#1207](https://github.com/gaearon/react-hot-loader/issues/1207) ([897a68d](https://github.com/gaearon/react-hot-loader/commit/897a68d))
* updating shallowequal dependency ([9269580](https://github.com/gaearon/react-hot-loader/commit/9269580))
<a name="4.12.8"></a>
## [4.12.8](https://github.com/gaearon/react-hot-loader/compare/v4.12.7...v4.12.8) (2019-07-18)
### Bug Fixes
* script error on IE11 due to lack of Object.entries ([6672b26](https://github.com/gaearon/react-hot-loader/commit/6672b26))
<a name="4.12.7"></a>
## [4.12.7](https://github.com/gaearon/react-hot-loader/compare/v4.12.6...v4.12.7) (2019-07-16)
### Bug Fixes
* false negative comparisons with react-hot-dom enabled, fixes [#1299](https://github.com/gaearon/react-hot-loader/issues/1299) ([a1c5c31](https://github.com/gaearon/react-hot-loader/commit/a1c5c31))
* reload hooks when hook body changes ([4795456](https://github.com/gaearon/react-hot-loader/commit/4795456))
<a name="4.12.6"></a>
## [4.12.6](https://github.com/gaearon/react-hot-loader/compare/v4.12.5...v4.12.6) (2019-07-10)
### Bug Fixes
* do not update hooks while updating hooks, fixes [#1294](https://github.com/gaearon/react-hot-loader/issues/1294) ([afa8ed4](https://github.com/gaearon/react-hot-loader/commit/afa8ed4))
<a name="4.12.5"></a>
## [4.12.5](https://github.com/gaearon/react-hot-loader/compare/v4.12.4...v4.12.5) (2019-07-07)
### Bug Fixes
* babel 7.5, fixes [#1292](https://github.com/gaearon/react-hot-loader/issues/1292) ([4441d6d](https://github.com/gaearon/react-hot-loader/commit/4441d6d))
<a name="4.12.4"></a>
## [4.12.4](https://github.com/gaearon/react-hot-loader/compare/v4.12.3...v4.12.4) (2019-07-06)
### Bug Fixes
* remove lodash, [#1269](https://github.com/gaearon/react-hot-loader/issues/1269) ([8ad1b46](https://github.com/gaearon/react-hot-loader/commit/8ad1b46))
<a name="4.12.3"></a>
## [4.12.3](https://github.com/gaearon/react-hot-loader/compare/v4.12.2...v4.12.3) (2019-07-04)
### Bug Fixes
* babel plugin should use only extrernals hooks, fixes [#1285](https://github.com/gaearon/react-hot-loader/issues/1285) ([c435eaa](https://github.com/gaearon/react-hot-loader/commit/c435eaa))
* make type comparison stronger ([1b9f2da](https://github.com/gaearon/react-hot-loader/commit/1b9f2da))
* prevent different typeof of components to be merged ([357249c](https://github.com/gaearon/react-hot-loader/commit/357249c))
* regression of registered type comparison, fixes [#1284](https://github.com/gaearon/react-hot-loader/issues/1284) ([49851be](https://github.com/gaearon/react-hot-loader/commit/49851be))
<a name="4.12.2"></a>
## [4.12.2](https://github.com/gaearon/react-hot-loader/compare/v4.12.1...v4.12.2) (2019-07-03)
### Bug Fixes
* [babel][prod] separate default and root 'hot' detection, fixes [#1283](https://github.com/gaearon/react-hot-loader/issues/1283) ([c6d29c9](https://github.com/gaearon/react-hot-loader/commit/c6d29c9))
<a name="4.12.1"></a>
## [4.12.1](https://github.com/gaearon/react-hot-loader/compare/v4.12.0...v4.12.1) (2019-07-03)
### Bug Fixes
* clone node for signature, fixes [#1268](https://github.com/gaearon/react-hot-loader/issues/1268) ([ed3e1d9](https://github.com/gaearon/react-hot-loader/commit/ed3e1d9))
* memo components are not updated ([5bca98c](https://github.com/gaearon/react-hot-loader/commit/5bca98c))
* use deep clone for fresh signature, fixes [#1280](https://github.com/gaearon/react-hot-loader/issues/1280) ([d796af8](https://github.com/gaearon/react-hot-loader/commit/d796af8))
<a name="4.12.0"></a>
# [4.12.0](https://github.com/gaearon/react-hot-loader/compare/v4.11.2...v4.12.0) (2019-06-30)
### Features
* disable hot replacement render if react-dom is patched, see [#1274](https://github.com/gaearon/react-hot-loader/issues/1274) ([b93eb1d](https://github.com/gaearon/react-hot-loader/commit/b93eb1d))
<a name="4.11.2"></a>
## [4.11.2](https://github.com/gaearon/react-hot-loader/compare/v4.11.1...v4.11.2) (2019-06-30)
### Bug Fixes
* babel-plugin is not compatible with commonjs module output if babel 7 is used #1268.
<a name="4.11.1"></a>
## [4.11.1](https://github.com/gaearon/react-hot-loader/compare/v4.11.0...v4.11.1) (2019-06-15)
### Bug Fixes
* hot render of forward props component ([4ba7530](https://github.com/gaearon/react-hot-loader/commit/4ba7530))
* regression in hidden components reconcilation ([3f8efc4](https://github.com/gaearon/react-hot-loader/commit/3f8efc4))
* update react-fresh babel plugin ([2fafd44](https://github.com/gaearon/react-hot-loader/commit/2fafd44))
<a name="4.11.0"></a>
# [4.11.0](https://github.com/gaearon/react-hot-loader/compare/v4.9.0...v4.11.0) (2019-06-10)
### Bug Fixes
* source map consumer could be synchronous ([05a6c8e](https://github.com/gaearon/react-hot-loader/commit/05a6c8e))
### Features
* backport React.Fresh to handle hooks order change ([e5c4bb4](https://github.com/gaearon/react-hot-loader/commit/e5c4bb4))
<a name="4.10.0"></a>
# [4.10.0](https://github.com/gaearon/react-hot-loader/compare/v4.9.0...v4.10.0) (2019-06-02)
### Features
* transparent class wrapping, fixes [#304](https://github.com/gaearon/react-hot-loader/issues/304) ([9fe4cad](https://github.com/gaearon/react-hot-loader/commit/9fe4cad))
<a name="4.9.0"></a>
# [4.9.0](https://github.com/gaearon/react-hot-loader/compare/v4.8.8...v4.9.0) (2019-06-02)
### Bug Fixes
* false positive hot merge for forwardRef and Memo components, fixes [#1257](https://github.com/gaearon/react-hot-loader/issues/1257) ([dbf1047](https://github.com/gaearon/react-hot-loader/commit/dbf1047))
* improve hot api for production mode - error reporting and babel plugin ([6b29911](https://github.com/gaearon/react-hot-loader/commit/6b29911))
### Features
* support hooks update on HMR, fixes [#1256](https://github.com/gaearon/react-hot-loader/issues/1256) ([7ab076c](https://github.com/gaearon/react-hot-loader/commit/7ab076c))
<a name="4.8.8"></a>
## [4.8.8](https://github.com/gaearon/react-hot-loader/compare/v4.8.7...v4.8.8) (2019-05-23)
### Bug Fixes
* disable RHL when NODE_ENV == test, fixes [#1252](https://github.com/gaearon/react-hot-loader/issues/1252) ([6f56d87](https://github.com/gaearon/react-hot-loader/commit/6f56d87))
<a name="4.8.7"></a>
## [4.8.7](https://github.com/gaearon/react-hot-loader/compare/v4.8.6...v4.8.7) (2019-05-20)
### Bug Fixes
* remove checks. fixes [#1252](https://github.com/gaearon/react-hot-loader/issues/1252) ([2b2f733](https://github.com/gaearon/react-hot-loader/commit/2b2f733))
<a name="4.8.6"></a>
## [4.8.6](https://github.com/gaearon/react-hot-loader/compare/v4.8.5...v4.8.6) (2019-05-18)
### Bug Fixes
* No HMR missing error in SSR ([956e52b](https://github.com/gaearon/react-hot-loader/commit/956e52b))
* trailing commas at entrypoints, fixes [#1226](https://github.com/gaearon/react-hot-loader/issues/1226) ([989eebf](https://github.com/gaearon/react-hot-loader/commit/989eebf))
<a name="4.8.5"></a>
## [4.8.5](https://github.com/gaearon/react-hot-loader/compare/v4.8.4...v4.8.5) (2019-05-16)
### Bug Fixes
* correct memo fiber updater, fixes [#1230](https://github.com/gaearon/react-hot-loader/issues/1230) ([a185494](https://github.com/gaearon/react-hot-loader/commit/a185494))
* make API more error prone, fixes [#1228](https://github.com/gaearon/react-hot-loader/issues/1228) ([a6ba488](https://github.com/gaearon/react-hot-loader/commit/a6ba488))
* move react-dom notification to AppContainer, fixes [#1227](https://github.com/gaearon/react-hot-loader/issues/1227) ([28bfdd4](https://github.com/gaearon/react-hot-loader/commit/28bfdd4))
* update root endpoint, fixes [#1226](https://github.com/gaearon/react-hot-loader/issues/1226), [#1240](https://github.com/gaearon/react-hot-loader/issues/1240) ([608805a](https://github.com/gaearon/react-hot-loader/commit/608805a))
* use simpler conditions for index.js, implements [#1244](https://github.com/gaearon/react-hot-loader/issues/1244) ([4811d57](https://github.com/gaearon/react-hot-loader/commit/4811d57))
* webpack plugin fails on hot-loader/react-dom, fixes #[#1234](https://github.com/gaearon/react-hot-loader/issues/1234) ([826eee3](https://github.com/gaearon/react-hot-loader/commit/826eee3))
* webpack-plugin - use RHL global variable, fixes [#1251](https://github.com/gaearon/react-hot-loader/issues/1251) ([f036d36](https://github.com/gaearon/react-hot-loader/commit/f036d36))
<a name="4.8.4"></a>
## [4.8.4](https://github.com/gaearon/react-hot-loader/compare/v4.8.3...v4.8.4) (2019-04-15)
### Bug Fixes
* document the importance of import order, fixes [#1209](https://github.com/gaearon/react-hot-loader/issues/1209) ([5f50ee4](https://github.com/gaearon/react-hot-loader/commit/5f50ee4))
* dont skip first update or plain components ([432e0f8](https://github.com/gaearon/react-hot-loader/commit/432e0f8))
* remove Object.assign, fixes [#1226](https://github.com/gaearon/react-hot-loader/issues/1226) ([c5af009](https://github.com/gaearon/react-hot-loader/commit/c5af009))
<a name="4.8.3"></a>
## [4.8.3](https://github.com/gaearon/react-hot-loader/compare/v4.8.2...v4.8.3) (2019-04-05)
### Bug Fixes
* Allow refs on lazy components ([798e37f](https://github.com/gaearon/react-hot-loader/commit/798e37f))
* invariant violation react 15 ([1351f2d](https://github.com/gaearon/react-hot-loader/commit/1351f2d))
<a name="4.8.1"></a>
## [4.8.1](https://github.com/gaearon/react-hot-loader/compare/v4.8.0...v4.8.1) (2019-03-29)
### Bug Fixes
* root hot for parcel bundler, fixes [#1082](https://github.com/gaearon/react-hot-loader/issues/1082) ([a16679b](https://github.com/gaearon/react-hot-loader/commit/a16679b))
<a name="4.8.0"></a>
# [4.8.0](https://github.com/gaearon/react-hot-loader/compare/v4.7.2...v4.8.0) (2019-03-07)
### Features
* support 16.8.4 ([38b63cd](https://github.com/gaearon/react-hot-loader/commit/38b63cd))
<a name="4.7.2"></a>
## [4.7.2](https://github.com/gaearon/react-hot-loader/compare/v4.7.1...v4.7.2) (2019-03-04)
### Bug Fixes
* safer reads from context consumer ([7942d26](https://github.com/gaearon/react-hot-loader/commit/7942d26))
* suppress error message on a server side, fixes [#1188](https://github.com/gaearon/react-hot-loader/issues/1188) ([b12b430](https://github.com/gaearon/react-hot-loader/commit/b12b430))
<a name="4.7.1"></a>
## [4.7.1](https://github.com/gaearon/react-hot-loader/compare/v4.7.0...v4.7.1) (2019-02-20)
### Bug Fixes
* destructed Context.Provider breaking registrations. fixes [#1184](https://github.com/gaearon/react-hot-loader/issues/1184) ([8240111](https://github.com/gaearon/react-hot-loader/commit/8240111))
* do not poison memoized props ([9f6ab6e](https://github.com/gaearon/react-hot-loader/commit/9f6ab6e))
* rethrow an error is hot comparison is not open ([8befa5a](https://github.com/gaearon/react-hot-loader/commit/8befa5a))
<a name="4.7.0"></a>
# [4.7.0](https://github.com/gaearon/react-hot-loader/compare/v4.6.5...v4.7.0) (2019-02-18)
### Bug Fixes
* complain if hot patches not present, fixes [#1173](https://github.com/gaearon/react-hot-loader/issues/1173) ([efc3d6b](https://github.com/gaearon/react-hot-loader/commit/efc3d6b))
* deactivate RHL in dev mode if eval not allowed ([f995b0d](https://github.com/gaearon/react-hot-loader/commit/f995b0d))
* disable ErrorBoundaries for a first run, fixes [#1172](https://github.com/gaearon/react-hot-loader/issues/1172) ([2a834c2](https://github.com/gaearon/react-hot-loader/commit/2a834c2))
* Support Context.Provider reload and React.memo, fixes [#1169](https://github.com/gaearon/react-hot-loader/issues/1169) ([09e48eb](https://github.com/gaearon/react-hot-loader/commit/09e48eb))
### Features
* activate pureRender by default ([4e971b5](https://github.com/gaearon/react-hot-loader/commit/4e971b5))
* implement flexible hot injections ([b7e8f5e](https://github.com/gaearon/react-hot-loader/commit/b7e8f5e))
* make errors retryable to mitigate hooks update ([9967fde](https://github.com/gaearon/react-hot-loader/commit/9967fde))
<a name="4.6.5"></a>
## [4.6.5](https://github.com/gaearon/react-hot-loader/compare/v4.6.4...v4.6.5) (2019-01-31)
### Bug Fixes
* babel plugin produces a broken code ([6f8573f](https://github.com/gaearon/react-hot-loader/commit/6f8573f))
<a name="4.6.4"></a>
## [4.6.4](https://github.com/gaearon/react-hot-loader/compare/v4.6.3...v4.6.4) (2019-01-31)
### Bug Fixes
* do not shadow component name ([4b02767](https://github.com/gaearon/react-hot-loader/commit/4b02767))
* do not supress HMR errors ([be79d2f](https://github.com/gaearon/react-hot-loader/commit/be79d2f))
* fix wrong react-dom name resolution installation ([6f829a0](https://github.com/gaearon/react-hot-loader/commit/6f829a0))
* opt-out for module safety net, fixes [#1102](https://github.com/gaearon/react-hot-loader/issues/1102), [#1159](https://github.com/gaearon/react-hot-loader/issues/1159) ([93d0b1f](https://github.com/gaearon/react-hot-loader/commit/93d0b1f))
* remove platform checks from production bundle, fixes [#1162](https://github.com/gaearon/react-hot-loader/issues/1162) ([24d0448](https://github.com/gaearon/react-hot-loader/commit/24d0448))
* update fiber cached type, fixes [#1139](https://github.com/gaearon/react-hot-loader/issues/1139) ([35984ff](https://github.com/gaearon/react-hot-loader/commit/35984ff))
<a name="4.6.3"></a>
## [4.6.3](https://github.com/gaearon/react-hot-loader/compare/v4.6.2...v4.6.3) (2018-12-19)
### Bug Fixes
* context information is not always properly emulated in hot-render, fixes [#1094](https://github.com/gaearon/react-hot-loader/issues/1094) ([100fc9c](https://github.com/gaearon/react-hot-loader/commit/100fc9c))
* RHL could update non-relative components ([5d4f226](https://github.com/gaearon/react-hot-loader/commit/5d4f226))
* update memo updater and comparator. fix [#1135](https://github.com/gaearon/react-hot-loader/issues/1135) ([826a57c](https://github.com/gaearon/react-hot-loader/commit/826a57c))
<a name="4.6.2"></a>
## [4.6.2](https://github.com/gaearon/react-hot-loader/compare/v4.6.1...v4.6.2) (2018-12-18)
### Bug Fixes
* allow multiple 'hot' in one file, registering only the first one ([68c2a0a](https://github.com/gaearon/react-hot-loader/commit/68c2a0a))
* error overlay initialization prior body, fixes [#1127](https://github.com/gaearon/react-hot-loader/issues/1127) ([9177aba](https://github.com/gaearon/react-hot-loader/commit/9177aba))
<a name="4.6.1"></a>
## [4.6.1](https://github.com/gaearon/react-hot-loader/compare/4.6.0...4.6.1) (2018-12-17)
### Bug Fixes
* display hmr errors as hmr errors, [#1131](https://github.com/gaearon/react-hot-loader/issues/1131) ([615790f](https://github.com/gaearon/react-hot-loader/commit/615790f))
* error overlay is not server side friendly, [#1126](https://github.com/gaearon/react-hot-loader/issues/1126) ([40e3ff2](https://github.com/gaearon/react-hot-loader/commit/40e3ff2))
* hmr error detection is flaky ([9d3a2c0](https://github.com/gaearon/react-hot-loader/commit/9d3a2c0))
* secure wrapped/uwrapped comparison ([a62bacd](https://github.com/gaearon/react-hot-loader/commit/a62bacd))
* webpack plugin outputs es2015 code ([8a66401](https://github.com/gaearon/react-hot-loader/commit/8a66401))
<a name="4.6.0"></a>
# [4.6.0](https://github.com/gaearon/react-hot-loader/compare/v4.5.3...v4.6.0) (2018-12-13)
### Features
* implement flexible error boundaries ([1846019](https://github.com/gaearon/react-hot-loader/commit/1846019))
* new root/hot for better error management. Fixes [#1078](https://github.com/gaearon/react-hot-loader/issues/1078), [#1111](https://github.com/gaearon/react-hot-loader/issues/1111) ([3029428](https://github.com/gaearon/react-hot-loader/commit/3029428))
<a name="4.5.3"></a>
## [4.5.3](https://github.com/gaearon/react-hot-loader/compare/v4.5.2...v4.5.3) (2018-12-07)
### Bug Fixes
* enable class equality, but disable class merge, when not hot ([8d214b3](https://github.com/gaearon/react-hot-loader/commit/8d214b3))
* react-dom hot-replacement is too active ([8827a40](https://github.com/gaearon/react-hot-loader/commit/8827a40))
<a name="4.5.2"></a>
## [4.5.2](https://github.com/gaearon/react-hot-loader/compare/v4.5.1...v4.5.2) (2018-12-06)
### Bug Fixes
* forwardRef to be remounted every frame. React-router to merge components ([3b11866](https://github.com/gaearon/react-hot-loader/commit/3b11866))
* React-router to merge components ([f45fee0](https://github.com/gaearon/react-hot-loader/commit/f45fee0))
* remove early reject, [#1115](https://github.com/gaearon/react-hot-loader/issues/1115) ([0a28144](https://github.com/gaearon/react-hot-loader/commit/0a28144))
<a name="4.5.1"></a>
## [4.5.1](https://github.com/gaearon/react-hot-loader/compare/v4.5.0...v4.5.1) (2018-11-21)
### Bug Fixes
* add lodash.merge as dep ([1de55d6](https://github.com/gaearon/react-hot-loader/commit/1de55d6))
<a name="4.5.0"></a>
# [4.5.0](https://github.com/gaearon/react-hot-loader/compare/v4.4.0...v4.5.0) (2018-11-20)
### Bug Fixes
* handle older React versions ([a03c1c3](https://github.com/gaearon/react-hot-loader/commit/a03c1c3))
* hot-render forwardRef ([5f362ad](https://github.com/gaearon/react-hot-loader/commit/5f362ad))
* IE11 compact, [#1099](https://github.com/gaearon/react-hot-loader/issues/1099) ([f8ef550](https://github.com/gaearon/react-hot-loader/commit/f8ef550))
### Features
* webpack patch/inject mode ([42d637b](https://github.com/gaearon/react-hot-loader/commit/42d637b))
<a name="4.4.0-1"></a>
## 4.4.0-1 (2018-11-01)
### Bug Fixes
- `forwardRef` reconciliation [#1100](https://github.com/gaearon/react-hot-loader/pull/1100)
<a name="4.4.0"></a>
## [4.4.0](https://github.com/gaearon/react-hot-loader/compare/v4.3.11...v4.3.12) (2018-11-01)
### Features
* React 16.5 and React 16.6 support. forwardRef, memo, lazy [#1084](https://github.com/gaearon/react-hot-loader/pull/1084)
* Webpack loader [#1098](https://github.com/gaearon/react-hot-loader/pull/1098)
* mark RHL sideEffect-free in production mode [#1096](https://github.com/gaearon/react-hot-loader/pull/1096)
* babel plugin will remove `hot` in production [#1091](https://github.com/gaearon/react-hot-loader/pull/1091)
### Bug Fixes
* babel plugin will remove calls to `hot` in production mode to remove side-effect on webpack [#1081](https://github.com/gaearon/react-hot-loader/pull/1081)
* class methods, deleted on update, will be deleted from proxy [#1091](https://github.com/gaearon/react-hot-loader/pull/1091)
<a name="4.3.11"></a>
## [4.3.11](https://github.com/gaearon/react-hot-loader/compare/v4.3.9...v4.3.11) (2018-09-20)
### Bug Fixes
* hot fixing ES5 literals in index.js ([80f6b63](https://github.com/gaearon/react-hot-loader/commit/80f6b63))
<a name="4.3.10"></a>
## [4.3.10](https://github.com/gaearon/react-hot-loader/compare/v4.3.9...v4.3.10) (2018-09-20)
### Bug Fixes
* IE10/CSP compatibility. [#1073](https://github.com/gaearon/react-hot-loader/pull/1073)
<a name="4.3.7"></a>
## [4.3.7](https://github.com/gaearon/react-hot-loader/compare/v4.3.6...v4.3.7) (2018-09-13)
### Bug Fixes
* babel 7 compatibility. [#1043](https://github.com/gaearon/react-hot-loader/issues/1043) ([acad937](https://github.com/gaearon/react-hot-loader/commit/acad937))
<a name="4.3.6"></a>
## [4.3.6](https://github.com/gaearon/react-hot-loader/compare/v4.3.5...v4.3.6) (2018-09-04)
### Bug Fixes
* don't inadvertendly call getters ([322e746](https://github.com/gaearon/react-hot-loader/commit/322e746))
<a name="4.3.5"></a>
## [4.3.5](https://github.com/gaearon/react-hot-loader/compare/4.3.4...4.3.5) (2018-08-23)
### Bug Fixes
* dont hot-swap registered components, [#1050](https://github.com/gaearon/react-hot-loader/issues/1050) ([cf165a6](https://github.com/gaearon/react-hot-loader/commit/cf165a6))
* use the same conditions for index and patch ([f67d5b9](https://github.com/gaearon/react-hot-loader/commit/f67d5b9))
<a name="4.3.4"></a>
## [4.3.4](https://github.com/gaearon/react-hot-loader/compare/v4.3.3...v4.3.4) (2018-07-25)
### Bug Fixes
* element could be double-proxied ([#1033](https://github.com/gaearon/react-hot-loader/pull/1033))
* Components, not directly inherited from React.Components, like StyledComponents, are not working ([#1031](https://github.com/gaearon/react-hot-loader/pull/1031))
<a name="4.3.3"></a>
## [4.3.3](https://github.com/gaearon/react-hot-loader/compare/4.3.1...4.3.3) (2018-06-15)
### Bug Fixes
* add _this to sandbox variables, [#1020](https://github.com/gaearon/react-hot-loader/issues/1020) ([e5284ab](https://github.com/gaearon/react-hot-loader/commit/e5284ab))
<a name="4.3.2"></a>
## [4.3.2](https://github.com/gaearon/react-hot-loader/compare/4.3.1...4.3.2) (2018-06-13)
### Bug Fixes
* Add cold API to TypeScript definitions
<a name="4.3.1"></a>
## [4.3.1](https://github.com/gaearon/react-hot-loader/compare/4.3.0...4.3.1) (2018-06-09)
### Bug Fixes
* Preact could pass arguments to the render, fix [#1013](https://github.com/gaearon/react-hot-loader/issues/1013) ([605da10](https://github.com/gaearon/react-hot-loader/commit/605da10))
* Support _this10 and over ([bb47ca4](https://github.com/gaearon/react-hot-loader/commit/bb47ca4))
* Handle lazy indeterminate static properties(Relay) [#1014](https://github.com/gaearon/react-hot-loader/pull/1014)
<a name="4.3.0"></a>
# [4.3.0](https://github.com/gaearon/react-hot-loader/compare/v4.2.0...v4.3.0) (2018-06-05)
### Bug Fixes
* Context Provider could crash due update, [#944](https://github.com/gaearon/react-hot-loader/issues/944) ([b0e2b5b](https://github.com/gaearon/react-hot-loader/commit/b0e2b5b))
* RHL babel plugin will ignore react and react-hot-loader, fixes [#900](https://github.com/gaearon/react-hot-loader/issues/900) ([e90a25c](https://github.com/gaearon/react-hot-loader/commit/e90a25c))
* RHL should add new class methods ([111d56e](https://github.com/gaearon/react-hot-loader/commit/111d56e))
* Multiple problems with methods update. Revert behavior back to v4.1.2 [#1001](https://github.com/gaearon/react-hot-loader/issues/1001)
### Features
* Preact support [#952](https://github.com/gaearon/react-hot-loader/issues/952) ([2b40f57](https://github.com/gaearon/react-hot-loader/commit/2b40f57))
* Cold components [#991](https://github.com/gaearon/react-hot-loader/issues/991) ([9bcff36](https://github.com/gaearon/react-hot-loader/commit/9bcff36))
<a name="4.2.0"></a>
## [4.2.0](https://github.com/gaearon/react-hot-loader/compare/v4.1.3...v4.2.0) (2018-05-16)
## Changes
* Stateless Components will be converted to React.Component ones (as they were prior 4.1.0) [#977](https://github.com/gaearon/react-hot-loader/pull/977)
## Features
* Basic support for React 16 Context [#979](https://github.com/gaearon/react-hot-loader/issues/979)
## Bug fixes
* pure components wont update [#959](https://github.com/gaearon/react-hot-loader/issues/959), [#944](https://github.com/gaearon/react-hot-loader/issues/944)
* better babel compliance ("this5"), [#969](https://github.com/gaearon/react-hot-loader/issues/969)
* sideeffect-less updates [#970](https://github.com/gaearon/react-hot-loader/pull/970)
* render as a class property [#924](https://github.com/gaearon/react-hot-loader/issues/924)
* issues around reactLifecyclesCompat.polyfill [#951](https://github.com/gaearon/react-hot-loader/issues/951)
* more examples and test cases
* multiple reconsilation related bug fixes
<a name="4.1.3"></a>
## [4.1.3](https://github.com/gaearon/react-hot-loader/compare/v4.1.2...v4.1.3) (2018-05-08)
### Bug Fixes
* always update bound functions. [#949](https://github.com/gaearon/react-hot-loader/issues/949) ([7819c71](https://github.com/gaearon/react-hot-loader/commit/7819c71))
* Fragment with a single element. fixes [#956](https://github.com/gaearon/react-hot-loader/issues/956) ([7e80881](https://github.com/gaearon/react-hot-loader/commit/7e80881))
* props merge order. [#967](https://github.com/gaearon/react-hot-loader/issues/967) ([#968](https://github.com/gaearon/react-hot-loader/issues/968)) ([1f8adb9](https://github.com/gaearon/react-hot-loader/commit/1f8adb9))
<a name="4.1.2"></a>
## [4.1.2](https://github.com/gaearon/react-hot-loader/compare/4.1.0...4.1.2) (2018-04-24)
### Bug Fixes
* condition render in Fragments [#942](https://github.com/gaearon/react-hot-loader/issues/942) ([#943](https://github.com/gaearon/react-hot-loader/issues/943)) ([2549a18](https://github.com/gaearon/react-hot-loader/commit/2549a18))
<a name="4.1.1"></a>
## [4.1.1](https://github.com/gaearon/react-hot-loader/compare/4.1.0...4.1.1) (2018-04-24)
### Bug Fixes
* Proxy should keep methods own props. [#918](https://github.com/gaearon/react-hot-loader/issues/918) ([a84dcd0](https://github.com/gaearon/react-hot-loader/commit/a84dcd0))
<a name="4.1.0"></a>
## [4.1.0](https://github.com/gaearon/react-hot-loader/compare/4.0.1...4.1.0) (2018-04-18)
### Features
* 🚀 React 16.3 support ([#918](https://github.com/gaearon/react-hot-loader/issues/918))
* 🧙🏻♂️ StatelessFunctionComponents are not wrapped by Stateful components anymore ([#873](https://github.com/gaearon/react-hot-loader/issues/873))
* 🧠Improved TypeScript support (no more than documentation) ([#884](https://github.com/gaearon/react-hot-loader/issues/884))
### Bug Fixes
* support babel temporal `_this3` ([#928](https://github.com/gaearon/react-hot-loader/issues/928))
<a name="4.0.1"></a>
## [4.0.1](https://github.com/gaearon/react-hot-loader/compare/v4.0.0...v4.0.1) (2018-04-01)
### Bug Fixes
* fix double proxy registration ([#915](https://github.com/gaearon/react-hot-loader/issues/915)) ([f8532df](https://github.com/gaearon/react-hot-loader/commit/f8532df)), closes [#912](https://github.com/gaearon/react-hot-loader/issues/912)
* replace `.includes` by `.indexOf` (IE11 fix) ([#906](https://github.com/gaearon/react-hot-loader/issues/906)) ([87ad586](https://github.com/gaearon/react-hot-loader/commit/87ad586))
* break render recursion (MobX fix) ([#889](https://github.com/gaearon/react-hot-loader/issues/889)) ([33f2376](https://github.com/gaearon/react-hot-loader/commit/33f2376))
### Docs
* Improve TypeScript documentation ([#914](https://github.com/gaearon/react-hot-loader/issues/914)) ([d3b91de](https://github.com/gaearon/react-hot-loader/commit/d3b91de))
<a name="4.0.0"></a>
# [4.0.0](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-rc.0...v4.0.0) (2018-02-27)
### Bug Fixes
* proper children reconcile for nested tags, fixes [#869](https://github.com/gaearon/react-hot-loader/issues/869) ([#871](https://github.com/gaearon/react-hot-loader/issues/871)) ([2de4e58](https://github.com/gaearon/react-hot-loader/commit/2de4e58))
<a name="4.0.0-rc.0"></a>
# [4.0.0-rc.0](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.23...v4.0.0-rc.0) (2018-02-19)
<a name="4.0.0-beta.23"></a>
# [4.0.0-beta.23](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.22...v4.0.0-beta.23) (2018-02-18)
### Bug Fixes
* disable RHL when HMR is not activated ([#863](https://github.com/gaearon/react-hot-loader/issues/863)) ([ffe0035](https://github.com/gaearon/react-hot-loader/commit/ffe0035))
* fix various bugs ([#857](https://github.com/gaearon/react-hot-loader/issues/857)) ([8fa1d42](https://github.com/gaearon/react-hot-loader/commit/8fa1d42)), closes [#845](https://github.com/gaearon/react-hot-loader/issues/845) [#843](https://github.com/gaearon/react-hot-loader/issues/843)
* transfer original prototype methods ([#859](https://github.com/gaearon/react-hot-loader/issues/859)) ([0b7997f](https://github.com/gaearon/react-hot-loader/commit/0b7997f)), closes [#845](https://github.com/gaearon/react-hot-loader/issues/845) [#843](https://github.com/gaearon/react-hot-loader/issues/843) [#858](https://github.com/gaearon/react-hot-loader/issues/858)
<a name="4.0.0-beta.22"></a>
# [4.0.0-beta.22](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.21...v4.0.0-beta.22) (2018-02-10)
### Bug Fixes
* fix reconciler warnings ([#852](https://github.com/gaearon/react-hot-loader/issues/852)) ([963677f](https://github.com/gaearon/react-hot-loader/commit/963677f)), closes [#843](https://github.com/gaearon/react-hot-loader/issues/843)
### Features
* ship flat bundles ([#844](https://github.com/gaearon/react-hot-loader/issues/844)) ([7580552](https://github.com/gaearon/react-hot-loader/commit/7580552))
<a name="4.0.0-beta.21"></a>
# [4.0.0-beta.21](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.20...v4.0.0-beta.21) (2018-02-05)
### Bug Fixes
* fix proxy adapter ([#842](https://github.com/gaearon/react-hot-loader/issues/842)) ([9bb8251](https://github.com/gaearon/react-hot-loader/commit/9bb8251))
<a name="4.0.0-beta.20"></a>
# [4.0.0-beta.20](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.19...v4.0.0-beta.20) (2018-02-04)
<a name="4.0.0-beta.19"></a>
# [4.0.0-beta.19](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.18...v4.0.0-beta.19) (2018-02-03)
### Bug Fixes
* **areComponentsEqual:** fix behaviour ([#829](https://github.com/gaearon/react-hot-loader/issues/829)) ([d4dcd07](https://github.com/gaearon/react-hot-loader/commit/d4dcd07))
* **prop-types:** add prop-types as dependency ([#823](https://github.com/gaearon/react-hot-loader/issues/823)) ([c2b7c3c](https://github.com/gaearon/react-hot-loader/commit/c2b7c3c))
* regenerate overriden members ([#837](https://github.com/gaearon/react-hot-loader/issues/837)) ([39d4f5b](https://github.com/gaearon/react-hot-loader/commit/39d4f5b)), closes [#836](https://github.com/gaearon/react-hot-loader/issues/836)
<a name="4.0.0-beta.18"></a>
# [4.0.0-beta.18](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.17...v4.0.0-beta.18) (2018-01-25)
### Bug Fixes
* break cyclic dependency ([#822](https://github.com/gaearon/react-hot-loader/issues/822)) ([328d793](https://github.com/gaearon/react-hot-loader/commit/328d793)), closes [#820](https://github.com/gaearon/react-hot-loader/issues/820)
<a name="4.0.0-beta.17"></a>
# [4.0.0-beta.17](https://github.com/gaearon/react-hot-loader/compare/4.0.0-beta.16...v4.0.0-beta.17) (2018-01-22)
### Features
* remove useless dependencies ([e1b83e5](https://github.com/gaearon/react-hot-loader/commit/e1b83e5)), closes [#808](https://github.com/gaearon/react-hot-loader/issues/808)
### Bug Fixes
* warn about errors [#814](https://github.com/gaearon/react-hot-loader/issues/814)
* handle wrong module [#813](https://github.com/gaearon/react-hot-loader/issues/#813)
<a name="4.0.0-beta.16"></a>
# [4.0.0-beta.16](https://github.com/theKashey/react-hot-loader/compare/v4.0.0-beta.15-1...v4.0.0-beta.16) (2018-01-21)
* **react-hot-loader:** Hard code consts from stand-in [#807](https://github.com/gaearon/react-hot-loader/issues/807))
* **react-hot-loader:** Support React 16 Fragments [#799](https://github.com/gaearon/react-hot-loader/issues/799))
* **react-hot-loader:** Suppress some warnings [#804](https://github.com/gaearon/react-hot-loader/issues/804))
* **react-hot-loader:** Better Electron support [#794](https://github.com/gaearon/react-hot-loader/issues/794))
* **react-stand-in:** Fix IE11 regression (again)
<a name="4.0.0-beta.15"></a>
# [4.0.0-beta.15](https://github.com/theKashey/react-hot-loader/compare/v4.0.0-beta.14...v4.0.0-beta.15) (2018-01-16)
* **react-deep-force-update:** remove from the project
* **react-stand-in:** fix MobX (Cannot assign to read only property 'render', [#796](https://github.com/gaearon/react-hot-loader/issues/796))
<a name="4.0.0-beta.14"></a>
# [4.0.0-beta.14](https://github.com/theKashey/react-hot-loader/compare/v4.0.0-beta.13...v4.0.0-beta.14) (2018-01-14)
* **react-hot-loader:** support IE11 ([#772](https://github.com/gaearon/react-hot-loader/issues/772))
* **react-stand-in:** support Relay Classis/Modern([#775](https://github.com/gaearon/react-hot-loader/issues/775))
<a name="4.0.0-beta.13"></a>
# [4.0.0-beta.13](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.12...v4.0.0-beta.13) (2018-01-09)
### Features
* **react-hot-loader:** detect wrong usage of `hot` ([#766](https://github.com/gaearon/react-hot-loader/issues/766)) ([b9738c7](https://github.com/gaearon/react-hot-loader/commit/b9738c7)), closes [#765](https://github.com/gaearon/react-hot-loader/issues/765)
<a name="4.0.0-beta.12"></a>
# [4.0.0-beta.12](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.11...v4.0.0-beta.12) (2018-01-02)
### Bug Fixes
* target ES5 for production code ([b1d6d05](https://github.com/gaearon/react-hot-loader/commit/b1d6d05)), closes [#758](https://github.com/gaearon/react-hot-loader/issues/758)
<a name="4.0.0-beta.11"></a>
# [4.0.0-beta.11](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.10...v4.0.0-beta.11) (2017-12-30)
### Bug Fixes
* **build:** fix builded files ([f4aa275](https://github.com/gaearon/react-hot-loader/commit/f4aa275))
<a name="4.0.0-beta.10"></a>
# [4.0.0-beta.10](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.9...v4.0.0-beta.10) (2017-12-30)
### Bug Fixes
* **babel:** do not use capital letters ([#754](https://github.com/gaearon/react-hot-loader/issues/754)) ([bf48675](https://github.com/gaearon/react-hot-loader/commit/bf48675)), closes [#753](https://github.com/gaearon/react-hot-loader/issues/753)
<a name="4.0.0-beta.9"></a>
# [4.0.0-beta.9](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.8...v4.0.0-beta.9) (2017-12-30)
### Bug Fixes
* **react-hot-loader:** require `react-hot-loader/patch` in each file ([3038538](https://github.com/gaearon/react-hot-loader/commit/3038538)), closes [#750](https://github.com/gaearon/react-hot-loader/issues/750)
<a name="4.0.0-beta.8"></a>
# [4.0.0-beta.8](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.7...v4.0.0-beta.8) (2017-12-29)
### Bug Fixes
* **react-hot-loader:** fix missing export ([239ca5d](https://github.com/gaearon/react-hot-loader/commit/239ca5d))
<a name="4.0.0-beta.7"></a>
# [4.0.0-beta.7](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.6...v4.0.0-beta.7) (2017-12-29)
### Bug Fixes
* handle async loading of patch ([#739](https://github.com/gaearon/react-hot-loader/issues/739)) ([af8bd4b](https://github.com/gaearon/react-hot-loader/commit/af8bd4b))
* **react-hot-loader:** fix componentWillUpdate ([95a9e79](https://github.com/gaearon/react-hot-loader/commit/95a9e79))
* use safe defineProperty ([f901192](https://github.com/gaearon/react-hot-loader/commit/f901192))
### Features
* replace warnings by `configure({ debug: true })` ([4f079c6](https://github.com/gaearon/react-hot-loader/commit/4f079c6))
<a name="4.0.0-beta.6"></a>
# [4.0.0-beta.6](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.5...v4.0.0-beta.6) (2017-12-27)
Same as 4.0.0-beta.5, fix build problem.
<a name="4.0.0-beta.5"></a>
# [4.0.0-beta.5](https://github.com/gaearon/react-hot-loader/compare/v4.0.0-beta.4...v4.0.0-beta.5) (2017-12-27)
### Bug Fixes
* improve decorators support (autobind)
([56883c9](https://github.com/gaearon/react-hot-loader/commit/56883c9))
* support nested children
([#735](https://github.com/gaearon/react-hot-loader/issues/735))
([5c81655](https://github.com/gaearon/react-hot-loader/commit/5c81655))
# Manual changelog
### 4.0.0-beta.4
* Handle terminal node in stack (#728)
### 4.0.0-beta.3
* Use setTimeout to tick (#726)
### 4.0.0-beta.2
* Bunch of fixes (#725)
### 4.0.0-beta.1
* Remove webpack plugin (#707)
* Replace react-proxy by react-stand-in (#707)
* Replace react-deep-force-update by reconciler (#703)
* Add `hot` HOC (#707)
* Add `areComponentsEqual` (#304)
* `warnings` flag now controls reconciler, not dev patch.
### 3.1.1
* Revert fix arrow function that uses props in constructor (#670)
* Remove babel-template dependency (#671)
### 3.1.0
* Add an option to disable warnings (#669)
* Fix arrow function that uses props in constructor (#670)
### 3.0.0
* Add React 16 support (#629, #658)
* Remove RedBox as default error catcher (#494)
### 3.0.0-beta.6
* Use production versions of `patch` and `AppContainer` if no `module.hot`
available, so it doesn't break people using `NODE_ENV=test`. (#398)
* Opt out of transforming static class properties. (#381)
### 3.0.0-beta.5
* Makes the class properties portion of the Babel plugin work with async
functions. (#372)
* Change the output of the tagger code in the Babel plugin so that it doesn't
break the output of `babel-node`. (#374)
### 3.0.0-beta.4
* Extends the Babel plugin to enable hot reloading of class properties. (#322)
* Fixes a bug in the Webpack loader from a component importing a module with the
same basename. (#347)
### 3.0.0-beta.3
* Fixes broken import of RedBox, which led to confusing stack traces when
applications threw errors. (#314)
* Add `module.hot` checks to conditional `require()`s to remove unnecessary
warnings when using server rendering. (#302)
### 3.0.0-beta.2
* Patch `React.createFactory` (#287)
* Fix props typo (#285)
### 3.0.0-beta.1
* Adds complete React Router support. Async routes should work fine now. (#272)
* Fixes a nasty bug which caused unwrapped component to render. (#266, #272)
* Fixes an issue that caused components with `shouldComponentUpdate`
optimizations not getting redrawn (#269,
2a1e384d54e1919117f70f75dd20ad2490b1d9f5)
* Internal: a rewrite and much better test coverage.
### 3.0.0-beta.0
* Fixes an issue when used in Webpack 2
(https://github.com/gaearon/react-hot-loader/issues/263)
* **Breaking change:** instead of
```js
;<AppContainer component={App} props={{ prop: val }} />
```
````
you now need to write
```js
<AppContainer>
<App prop={val} />
</AppContainer>
````
(#250)
**See
[this commit](https://github.com/gaearon/react-hot-boilerplate/commit/b52c727937a499f3efdc5dceb74ae952aa318c3a)
as an update reference!**
### 3.0.0-alpha
Big changes both to internals and usage. No docs yet but you can look at
https://github.com/gaearon/react-hot-boilerplate/pull/61 for an example.
### 2.0.0-alpha
**Experimental release that isn't really representative on what will go in 2.0,
but uses the new engine.**
Some ideas of what should be possible with the new engine:
* There is no requirement to pass `getRootInstances()` anymore, so React Hot
Loader doesn't need `react/lib/ReactMount` or walk the tree, which was
somewhat fragile and changing between versions
* Static methods and properties are now hot-reloaded
* Instance getters and setters are now hot reloaded
* Static getters and setters are now hot reloaded
* Deleted instance methods are now deleted during hot reloading
* Single method form of
[autobind-decorator](https://github.com/andreypopp/autobind-decorator) is now
supported
What might get broken:
* We no longer overwrite or even touch the original class. Every time makeHot is
invoked, it will return a special proxy class. This means a caveat: for
example, static methods will only be hot-reloaded if you refer to them as
`this.constructor.doSomething()` instead of `FooBar.doSomething()`. This is
because React Hot Loader calls `makeHot` right before exporting, so `FooBar`
still refers to the original class. Similarly, `this.constructor === App` will
be `false` inside `App` unless you call `App = makeHot(App)` manually, which
you can't do with React Hot Loader. **I'm not sure how much of a problem this
will be, so let me know if it pains you.** In the longer term, we will
deprecate React Hot Loader in favor of a Babel plugin which will be able to
rewrite class definitions correctly, so it shouldn't be a problem for a long
time. If there is demand, we can introduce a mode that rewrites passed
classes, too.
### 1.3.1
* Fix import for ReactMount to support 15.4.0
(**[#430](https://github.com/gaearon/react-hot-loader/pull/430)**)
### 1.3.0
* Recover from module errors on module level
(**[#187](https://github.com/gaearon/react-hot-loader/pull/187)**)
### 1.2.9
* Silently ignore exports that raise an error when accessed (#114)
* Update `source-map` dependency
### 1.2.8
* Remove React from peerDependencies
* Update React Hot API to support React 0.14 beta 1
### 1.2.7
* Preserve CommonJS `exports` context in the wrapping closure
(**[#124](https://github.com/gaearon/react-hot-loader/issues/124)**)
### 1.2.6
* Fix autobinding on newly added methods for `createClass`-style classes
### 1.2.5
* Fix “React is not defined” error
### 1.2.4
* Avoid updating each class twice in React 0.12
### 1.2.3
* Explicitly exclude `react/lib` files from processing. You **should** use
`exclude: /node_modules/` in configuration, but at least this doesn't blow up
for those who don't.
### 1.2.2
* Fix crash on React 0.13. Now compatible!
### 1.2.1
* Don't try to flatten inheritance chains, as it causes problems with `super`
* Instead, automatically opt custom base classes into hot reloading as long as
they descend from `React.Component` (in React 0.13). If your custom base class
doesn't do that but you'd still want to have hot reloading, you need to
manually opt it in via `module.makeHot` API.
### 1.2.0
* Support hot-reloading components without a base class
(**[react-hot-api#5](https://github.com/gaearon/react-hot-api/issues/5)**)
* Support hot-reloading inheritance chains
(**[react-hot-api#10](https://github.com/gaearon/react-hot-api/issues/10)**)
* Support using React 0.13 as an external
### 1.1.7
* Add React 0.13 RC2 to peerDeps
### 1.1.6
* Allow React 0.13 RC1
* Better support for ES6 inheritance
* Fix reloading for modules with null prototype chain (**#82**)
### 1.1.5
* Wrap user code in IEFF to prevent losing `"use strict"`. Fixes #75
### 1.1.4
* Fix crash when hot-reloading element factory. (Note: React discourages
exporting factories.)
### 1.1.3
* Avoid warnings on React 0.13
### 1.1.2
* Compatibility with React 0.13.0-beta.1
### 1.1.1
* Fix edge cases by requiring `react/lib/ReactMount` in transformed source files
* Add a warning if `ReactMount` doesn't return anything useful (e.g. when using
external React)
### 1.1.0
* Skipping `node_modules` entirely
[wasn't](https://github.com/gaearon/react-hot-loader/issues/58)
[the best idea](https://github.com/gaearon/react-hot-loader/issues/55).
Instead, we now specifically skip `node_modules/react/`,
`node_modules/webpack/` and `node_modules/react-hot-loader/`. However you are
still **encouraged** to
[add `exclude: /node_modules/` to your loader config](https://github.com/gaearon/react-hot-boilerplate/blob/master/webpack.config.js#L24)
for best performance.
* Now modules that don't export any valid React classes in `module.exports` or
any its properties will not be auto-accepted. This prevents hot loader from
trying to handle non-React updates and allows changes in plain JS files to
propagate to components that can handle them. For example, this allows
[react-jss](https://github.com/jsstyles/react-jss) mixin to apply hot updates
to JSS styles.
### 1.0.7
* Skip `node_modules` entirely. Fixes
[#54](https://github.com/gaearon/react-hot-loader/issues/54) on Windows.
### 1.0.6
* Add `require('react-hot-loader/Injection')` to override Hot Loader behavior.
Now you can supply your own way of getting root component instances, so Hot
Loader can also work in environment where `require('react/lib/ReactMount')` is
not available (for example,
[when React is used as standalone bundle and not NPM package](https://github.com/gaearon/react-hot-loader/issues/53)).
### 1.0.5
* Fix stack overflow when hotifying same class twice
([#52](https://github.com/gaearon/react-hot-loader/issues/52))
### 1.0.4
* Allow both `module.exports` and its properties be components (Fixes
[#50](https://github.com/gaearon/react-hot-loader/issues/50))
### 1.0.3
* In addition to hotifying `module.exports` by default, also hotify all its own
properties
### 1.0.2
* Don't try to hot-replace `module.export`ed `ReactElement`s
### 1.0.1
* Delay `require`ing `ReactMount` to avoid circular dependencies
* Don't process React or Webpack internals to avoid potential issues
### 1.0.0
* Don't rely on `createClass` regex or any other regex
* Only `module.exports` is hot by default
* Supports ES6 classes when they land in React 0.13
* Supports dynamically created classes
* Manual mode
See
[what changed and how to migrate to 1.0](https://github.com/gaearon/react-hot-loader/blob/master/docs/README.md#migrating-to-10).
### 0.5.0
* Adds source map support, contributed by
[Jake Riesterer](https://github.com/jRiest)
### 0.4.5
* Collapse all hot loader code in one line so it doesn't obscure beginning of
file.
### 0.4.4
* Errors occuring in module definition (such as `ReferenceError`) should not
disable further reloading (fixes
**[#29](https://github.com/gaearon/react-hot-loader/issues/29)**)
### 0.4.3
* Support lowercase `react` reference name and usage with ES6 classes
(`createClass(MyComponent.prototype)`) via
**[#27](https://github.com/gaearon/react-hot-loader/issues/27)**
### 0.4.2
* Catch errors in modules and log them instead of reloading (fixes
**[#21](https://github.com/gaearon/react-hot-loader/issues/21)**)
### 0.4.1
* Use more precise
[`React.createClass` regex](https://github.com/gaearon/react-hot-loader/commit/f71c6785131adcc85b91789da0d0a0b9f1a9713f)
to avoid matching own code when hot loader is applied to all JS files.
### 0.4.0
* Ignore files that contain no `createClass` calls (fixes
**[#17](https://github.com/gaearon/react-hot-loader/issues/17)**)
* Remove the need for pitch loader (fixes
**[#19](https://github.com/gaearon/react-hot-loader/issues/19)**)
* Improve performance by only using one loader instead of two
* Now that performance is acceptable, remove desktop notifications and `notify`
option
* It is now recommended that you use `devtool: 'eval'` because it's much faster
and has no downsides anymore
### 0.3.1
* Avoid warnings on old browsers with missing `Notification` API
* Errors don't cause page reload anymore
### 0.3.0
* Use React 0.11
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to `react-hot-loader`
As the creators and maintainers of this project, we want to ensure that
`react-hot-loader` lives and continues to grow and evolve. The evolution of the
library should never be blocked by any single person's time. One of the simplest
ways of doing this is by encouraging a larger set of shallow contributors.
Through this, we hope to mitigate the problems of a project that needs updates
but there's no-one who has the power to do so.
## Code contributions
Here is a quick guide to doing code contributions to the library.
1. Find some issue you're interested in, or a feature that you'd like to tackle.
Also make sure that no one else is already working on it. We don't want you
to be disappointed.
2. Fork, then clone: `git clone https://github.com/YOUR_USERNAME/react-hot-loader.git`
3. Create a branch with a meaningful name for the issue: `git checkout -b fix-something`
4. Make your changes and commit: `git add` and `git commit`
5. Make sure that the tests still pass: `yarn test:es2015 --watch` and `yarn test:modern --watch`
6. Push your branch: `git push -u origin your-branch-name`
7. Submit a pull request to the upstream react-hot-loader repository.
8. Choose a descriptive title and describe your changes briefly.
9. Wait for a maintainer to review your PR, make changes if it's being
recommended, and get it merged.
10. Perform a celebratory dance! :dancer:
### How do I set up the project?
1. First make sure you have [yarn](https://yarnpkg.com/) installed.
2. Run `yarn` and let `yarn dev` running in background, you are ready!
3. You can also run `yarn test:watch` to run tests in watch mode.
### How do I check if it really works?
There is a lot of examples in the project, they are all under `examples/`
folder. Choose an example to test and follow these steps:
1. Run `yarn`
2. Run `yarn install file:../packages/react-hot-loader`
3. Test it!
## Credits
Heavily inspired from
[styled-components contributing guidelines](https://github.com/styled-components/styled-components/blob/master/CONTRIBUTING.md).
================================================
FILE: ISSUE_TEMPLATE.md
================================================
If you are reporting a bug or having an issue setting up React Hot Loader, please fill in below. For feature requests, feel free to remove this template entirely.
### Description
What you are reporting:
### Expected behavior
What you think should happen:
### Actual behavior
What actually happens:
### Environment
React Hot Loader version:
Run these commands in the project folder and fill in their results:
1. `node -v`:
2. `npm -v`:
Then, specify:
1. Operating system:
2. Browser and version:
### Reproducible Demo
Please take the time to create a new project that reproduces the issue.
You can copy your project that experiences the problem and start removing things until you’re left with the minimal reproducible demo. This helps contributors, and you might get to the root of your problem during that process.
Push to GitHub and paste the link here.
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2016 Dan Abramov
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: PATRONS.md
================================================
# Patrons
The work on React Hot Loader, [React Transform](https://github.com/gaearon/babel-plugin-react-transform), [Redux](https://github.com/rackt/redux), and related projects was [funded by the community](https://www.patreon.com/reactdx).
Meet some of the outstanding companies and individuals that made it possible:
* [Webflow](https://github.com/webflow)
* [Ximedes](https://www.ximedes.com/)
* [Herman J. Radtke III](http://hermanradtke.com)
* [Ken Wheeler](http://kenwheeler.github.io/)
* [Chung Yen Li](https://www.facebook.com/prototocal.lee)
* [Sunil Pai](https://twitter.com/threepointone)
* [Charlie Cheever](https://twitter.com/ccheever)
* [Eugene G](https://twitter.com/e1g)
* [Matt Apperson](https://twitter.com/mattapperson)
* [Jed Watson](https://twitter.com/jedwatson)
* [Sasha Aickin](https://twitter.com/xander76)
* [Stefan Tennigkeit](https://twitter.com/whobubble)
* [Sam Vincent](https://twitter.com/samvincent)
* Olegzandr Denman
================================================
FILE: README.md
================================================
# React Hot Loader
[![Build Status][build-badge]][build] [![version][version-badge]][package]
[![Code Coverage][coverage-badge]][coverage]
[![MIT License][license-badge]][license]
[![PRs Welcome][prs-badge]][prs] [![Chat][chat-badge]][chat]
[![Backers on Open Collective][oc-backer-badge]](#backers)
[![Sponsors on Open Collective][oc-sponsor-badge]](#sponsors)
[![Watch on GitHub][github-watch-badge]][github-watch]
[![Star on GitHub][github-star-badge]][github-star]
Tweak React components in real time ⚛️⚡️
Watch
**[Dan Abramov's talk on Hot Reloading with Time Travel](https://www.youtube.com/watch?v=xsSnOQynTHs).**
# Moving towards next step
React-Hot-Loader has been your friendly neighbour, living outside of React. But it has been limiting its powers and causing not the greatest experience. It's time to make a next step.
**React-Hot-Loader is expected to be replaced by [React Fast Refresh](https://github.com/facebook/react/issues/16604)**. Please remove React-Hot-Loader if Fast Refresh is currently supported on your environment.
* `React Native` - [supports Fast Refresh](https://facebook.github.io/react-native/docs/fast-refresh) since 0.61.
* `parcel 2` - [supports Fast Refresh](https://github.com/facebook/react/issues/16604#issuecomment-556082893) since alpha 3.
* `webpack` - [supports Fast Refresh](https://github.com/pmmmwh/react-refresh-webpack-plugin/) using a plugin.
* `other bundler` - no support yet, use React-Hot-Loader
* `create-react-app` - [supports Fast Refresh](https://create-react-app.dev/docs/advanced-configuration/) with FAST_REFRESH env since 4.
* `next.js` - [supports Fast Refresh](https://nextjs.org/docs/basic-features/fast-refresh) since 9.4
## Install
```
npm install react-hot-loader
```
> Note: You can safely install react-hot-loader as a regular dependency instead
> of a dev dependency as it automatically ensures it is not executed in
> production and the footprint is minimal.
## Getting started
1. Add `react-hot-loader/babel` to your `.babelrc`:
```js
// .babelrc
{
"plugins": ["react-hot-loader/babel"]
}
```
2. Mark your root component as _hot-exported_:
```js
// App.js
import { hot } from 'react-hot-loader/root';
const App = () => <div>Hello World!</div>;
export default hot(App);
```
3. Make sure `react-hot-loader` is required before `react` and `react-dom`:
* or `import 'react-hot-loader'` in your main file (before React)
* or prepend your webpack entry point with `react-hot-loader/patch`, for example:
```js
// webpack.config.js
module.exports = {
entry: ['react-hot-loader/patch', './src'],
// ...
};
```
4. If you need hooks support, use [`@hot-loader/react-dom`](#hot-loaderreact-dom)
### Hook support
Hooks would be auto updated on HMR if they _should_ be.
There is only one condition for it - a non zero dependencies list.
```js
❄️ useState(initialState); // will never updated (preserve state)
❄️ useEffect(effect); // no need to update, updated on every render
❄️ useEffect(effect, []); // "on mount" hook. "Not changing the past"
🔥 useEffect(effect, [anyDep]); // would be updated
🔥 useEffect(effect, ["hot"]); // the simplest way to make hook reloadable
```
**Plus**
* any hook would be reloaded on a function body change. Enabled by default, controlled by `reloadHooksOnBodyChange` option.
* you may configure RHL to reload any hook by setting `reloadLifeCycleHooks` option to true.
**To disable hooks reloading** - set configuration option:
```js
import { setConfig } from 'react-hot-loader';
setConfig({
reloadHooks: false,
});
```
With this option set **all** `useEffects`, `useCallbacks` and `useMemo` would be updated on Hot Module Replacement.
### Hooks reset
Hooks would be reset if their order changes. Adding, removing or moving around would
cause a local tree remount.
**Babel plugin is required** for this operation. Without it changing hook order would throw an error
which would be propagated till the nearest class-based component.
## `@hot-loader/react-dom`
[`@hot-loader/react-dom`](https://github.com/hot-loader/react-dom) replaces the "react-dom" package of the same version, but with additional patches to support hot reloading.
There are 2 ways to install it:
* Use **yarn** name resolution, so `@hot-loader/react-dom` would be installed instead of `react-dom`
```
yarn add react-dom@npm:@hot-loader/react-dom
```
* Use [webpack aliases](https://webpack.js.org/configuration/resolve/#resolvealias)
```
yarn add @hot-loader/react-dom
```
```js
// webpack.config.js
module.exports = {
// ...
resolve: {
alias: {
'react-dom': '@hot-loader/react-dom',
},
},
};
```
### Old API
**Note:** There is also an old version of `hot`, used prior to version 4.5.4. **Please use the new one**,
as it is much more resilient to js errors that you may make during development.
Meanwhile, not all the bundlers are compatible with new `/root` API, for example **[parcel](http://parceljs.org/) is not**.
React-Hot-Load will throw an error, asking you to use the old API, if such incompatibility would be detected.
It is almost the same, but you have to pass `module` inside `hot`.
```js
import { hot } from 'react-hot-loader';
const App = () => <div>Hello World!</div>;
export default hot(module)(App);
```
3. [Run webpack with Hot Module Replacement](https://webpack.js.org/guides/hot-module-replacement/#enabling-hmr):
```sh
webpack-dev-server --hot
```
## What about production?
The webpack patch, `hot`, Babel plugin, `@hot-loader/react-dom` etc. are all safe to use in production; they leave a minimal footprint, so there is no need to complicate your configuration based on the environment. Using the Babel plugin in production is even recommended because it switches to cleanup mode.
Just ensure that the production mode has been properly set, both as an environment variable and in your bundler. E.g. with webpack you would build your code by running something like:
```
NODE_ENV=production webpack --mode production
```
`NODE_ENV=production` is needed for the Babel plugin, while `--mode production` uses [`webpack.DefinePlugin`](https://webpack.js.org/plugins/define-plugin/) to set `process.env.NODE_ENV` inside the compiled code itself, which is used by `hot` and `@hot-loader/react-dom`.
Make sure to watch your bundle size when implementing react-hot-loader to ensure that you did it correctly.
## Limitations
* (that's the goal) React-Hot-Loader would not change the past, only update the present - no lifecycle event would be called on component update. As a result, any code changes made to `componentWillUnmount` or `componentDidMount` would be ignored for already created components.
* (that's the goal) React-Hot-Loader would not update any object, including component `state`.
* (1%) React-Hot-Loader may not apply some changes made to a component's `constructor`. Unless an existing component is recreated, RHL would typically _inject_ new data into that component, but there is no way to detect the actual change or the way it was applied, especially if the change was made to a function. This is because of the way React-Hot-Loader works - it knows what class functions are, not how they were created. See [#1001](https://github.com/gaearon/react-hot-loader/issues/1001) for details.
## Recipes
### Migrating from [create-react-app](https://github.com/facebookincubator/create-react-app)
1. Run `npm run eject`
2. Install React Hot Loader (`npm install --save-dev react-hot-loader`)
3. In `config/webpack.config.dev.js`, add `'react-hot-loader/babel'` to Babel
loader configuration. The loader should now look like:
```js
{
test: /\.(js|jsx)$/,
include: paths.appSrc,
loader: require.resolve('babel-loader'),
options: {
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
// directory for faster rebuilds.
cacheDirectory: true,
plugins: ['react-hot-loader/babel'],
},
}
```
4. Mark your App (`src/App.js`) as _hot-exported_:
```js
// ./containers/App.js
import React from 'react';
import { hot } from 'react-hot-loader';
const App = () => <div>Hello World!</div>;
export default hot(module)(App);
```
### Migrating from [create-react-app](https://github.com/facebookincubator/create-react-app) without ejecting
Users [report](https://github.com/gaearon/react-hot-loader/pull/729#issuecomment-354097936), that it is possible to use [react-app-rewire-hot-loader](https://github.com/cdharris/react-app-rewire-hot-loader) to setup React-hot-loader without ejecting.
### TypeScript
As of version 4, React Hot Loader requires you to pass your code through [Babel](http://babeljs.io/) to transform it so that it can be hot-reloaded. This can be a pain point for TypeScript users, who usually do not need to integrate Babel as part of their build process.
Fortunately, it's simpler than it may seem! Babel will happily parse TypeScript syntax and can act as an alternative to the TypeScript compiler, so you can safely replace `ts-loader` or `awesome-typescript-loader` in your Webpack configuration with `babel-loader`. Babel won't typecheck your code, but you can use [`fork-ts-checker-webpack-plugin`](https://github.com/Realytics/fork-ts-checker-webpack-plugin) (and/or invoke `tsc --noEmit`) as part of your build process instead.
A sample configuration:
```js
{
// ...you'll probably need to configure the usual Webpack fields like "mode" and "entry", too.
resolve: { extensions: [".ts", ".tsx", ".js", ".jsx"] },
module: {
rules: [
{
test: /\.(j|t)sx?$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
cacheDirectory: true,
babelrc: false,
presets: [
[
"@babel/preset-env",
{ targets: { browsers: "last 2 versions" } } // or whatever your project requires
],
"@babel/preset-typescript",
"@babel/preset-react"
],
plugins: [
// plugin-proposal-decorators is only needed if you're using experimental decorators in TypeScript
["@babel/plugin-proposal-decorators", { legacy: true }],
["@babel/plugin-proposal-class-properties", { loose: true }],
"react-hot-loader/babel"
]
}
}
}
]
},
plugins: [
new ForkTsCheckerWebpackPlugin()
]
};
```
For a full example configuration of TypeScript with React Hot Loader and newest beta version of Babel, check [here](https://github.com/gaearon/react-hot-loader/tree/master/examples/typescript).
As an alternative to this approach, it's possible to chain Webpack loaders so that your code passes through Babel and then TypeScript (or TypeScript and then Babel), but this approach is not recommended as it is more complex and may be significantly less performant. Read more [discussion here](https://github.com/gaearon/react-hot-loader/issues/884).
### Parcel
Parcel supports Hot Module Reloading out of the box, just follow step 1 and 2 of [Getting Started](https://github.com/gaearon/react-hot-loader/tree/master#getting-started).
We also have a [full example running Parcel + React Hot Loader](https://github.com/gaearon/react-hot-loader/tree/master/examples/parcel).
### Electron
You need something to mark your modules as hot in order to use React Hot Loader.
One way of doing this with Electron is to simply use webpack like any web-based project might do and the general guide above describes. See also [this example Electron app](https://github.com/s-h-a-d-o-w/rhl-electron-quick-start).
A webpack-less way of doing it to use `electron-compile` (which is also used by [`electron-forge`](https://electronforge.io)) - see [this example](https://github.com/rllola/hmr-example-issue-2). While it requires less configuration, something to keep in mind is that `electron-compile`'s HMR will always reload all modules, regardless of what was actually edited.
### Source Maps
If you use `devtool: 'source-map'` (or its equivalent), source maps will be
emitted to hide hot reloading code.
Source maps slow down your project. Use `devtool: 'eval'` for best build
performance.
Hot reloading code is just one line in the beginning and one line at the end of
each module so you might not need source maps at all.
### Linking
If you are using `npm link` or `yarn link` for development purposes, there is a chance you will get error `Module not found: Error: Cannot resolve module 'react-hot-loader'` or the linked package is not hot reloaded.
There are 2 ways to fix `Module not found`:
* Use [`include` in loader configuration](https://github.com/gaearon/react-hot-boilerplate/blob/master/webpack.config.js#L22) to only opt-in your app's files to processing.
* Alternatively if you are using webpack, override the module resolution in your config:
```js
{
resolve: {
alias: {
'react-hot-loader': path.resolve(path.join(__dirname, './node_modules/react-hot-loader')),
}
}
}
```
And to make your linked package to be hot reloaded, it will need to use the patched version of `react` and `react-dom`, if you're using webpack, add this options to the alias config
```js
{
resolve: {
alias: {
'react-hot-loader': path.resolve(path.join(__dirname, './node_modules/react-hot-loader')),
// add these 2 lines below so linked package will reference the patched version of `react` and `react-dom`
'react': path.resolve(path.join(__dirname, './node_modules/react')),
'react-dom': path.resolve(path.join(__dirname, './node_modules/react-dom')),
// or point react-dom above to './node_modules/@hot-loader/react-dom' if you are using it
}
}
}
```
## Preact
React-hot-loader should work out of the box with `preact-compat`, but, in case of pure preact, you will need
to configure it:
* create configuration file (setupHotLoader.js)
```js
import reactHotLoader from 'react-hot-loader';
import preact from 'preact';
reactHotLoader.preact(preact);
```
* dont forget to import it
#### Preact limitations
* HOCs and Decorators as not supported yet. For Preact React-Hot-Loader v4 behave as v3.
## React Native
React Native
**[supports hot reloading natively](https://facebook.github.io/react-native/blog/2016/03/24/introducing-hot-reloading.html)**
as of version 0.22.
Using React Hot Loader with React Native can cause unexpected issues (see #824) and is not recommended.
## Webpack plugin
We recommend using the `babel` plugin, but there are some situations where you are unable to. If so, try the `webpack` plugin / `webpack-loader` (as seen in v3).
Remember - the `webpack` plugin is **not compatible** with class-based components. The `babel` plugin
will inject special methods to every class, to make `class members` (like onClick) hot-updatable, while the `webpack` plugin would leave classes as is, without any _instrumentation_.
```js
class MyComponent extends React.Component {
onClick = () => this.setState(); // COULD NOT UPDATE
variable = 1; // this is ok
render() {} // this is ok
}
```
But `webpack-loader` could help with TypeScript or _spreading_ "cold API" [to all node_modules](https://github.com/gaearon/react-hot-loader#disabling-a-type-change-for-all-node_modules).
> It is possible to enable this loader for all the files, but if you use `babel` plugin, you need to enable this loader for `react-dom` only. Place it after babel-loader, if babel-loader is present.
```js
// webpack.config.js
module.exports = {
module: {
rules: [
// would only land a "hot-patch" to react-dom
{
test: /\.js$/,
include: /node_modules\/react-dom/,
use: ['react-hot-loader/webpack'],
},
],
},
};
```
Webpack plugin will also land a "hot" patch to react-dom, making React-Hot-Loader more compliant to [the principles](https://github.com/gaearon/react-hot-loader/issues/1118).
If you are not using `babel` plugin you might need to apply `webpack-loader` to all the files.
```js
{
test: /\.jsx?$/,
include: /node_modules/,
use: ['react-hot-loader/webpack']
},
```
### Code Splitting
If you want to use Code Splitting + React Hot Loader, the simplest solution is to pick a library compatible with this one:
* [React Lazy](https://reactjs.org/docs/code-splitting.html#reactlazy)
* [Imported Component](https://github.com/theKashey/react-imported-component)
* [React Universal Component](https://github.com/faceyspacey/react-universal-component)
* [React-Loadable](https://github.com/jamiebuilds/react-loadable)
If you use a not-yet-friendly library, like [react-async-component](https://github.com/ctrlplusb/react-async-component),
or are having problems with hot reloading failing to reload code-split components,
you can manually mark the components below the code-split boundaries.
```js
// AsyncHello.js
import { asyncComponent } from 'react-async-component';
// asyncComponent could not `hot-reload` itself.
const AsyncHello = asyncComponent({
resolve: () => import('./Hello'),
});
export default AsyncHello;
```
Note that `Hello` is the component at the root of this particular
code-split chunk.
```js
// Hello.js
import { hot } from 'react-hot-loader/root';
const Hello = () => 'Hello';
export default hot(Hello); // <-- module will reload itself
```
Wrapping this root component with `hot()` will ensure that it is hot reloaded correctly.
### Out-of-bound warning
You may see the following warning when code-split components are updated:
```console
React-Hot-Loader: some components were updated out-of-bound. Updating your app to reconcile the changes.
```
This is because the hot reloading of code-split components happens asynchronously. If you had an `App.js` that implemented
the `AsyncHello` component above and you modified `AsyncHello`, it would be bundled and reloaded at the same time as
`App.js`. However, the core hot reloading logic is synchronous, meaning that it's possible for the hot reload to run before
the updates to the split component have landed.
In this case, RHL uses a special _tail update detection_ logic, where it notes that an an update to a split component
has happened after the core hot reloading logic has already finished, and it triggers another update cycle to ensure
that all changes are applied.
The warning is informational - it is a notice that this tail update logic is triggered, and does not indicate a problem
in the configuration or useage of `react-hot-loader`.
If the tail update detection is not something you want or need, you can disable this behavior by setting
`setConfig({ trackTailUpdates:false })`.
### Checking Element `type`s
Because React Hot Loader creates proxied versions of your components, comparing
reference types of elements won't work:
```js
const element = <Component />;
console.log(element.type === Component); // false
```
React Hot Loader exposes a function `areComponentsEqual` to make it possible:
```js
import { areComponentsEqual } from 'react-hot-loader';
const element = <Component />;
areComponentsEqual(element.type, Component); // true
```
Another way - compare "rendered" element type
```js
const element = <Component />;
console.log(element.type === <Component />.type); // true
// better - precache rendered type
const element = <Component />;
const ComponentType = <Component />.type;
console.log(element.type === ComponentType); // true
```
But you might have to provide all required props. See [original issue](https://github.com/gaearon/react-hot-loader/issues/304).
This is most reliable way to compare components, but it will not work with required props.
Another way - compare Component name.
> Not all components have a name. **In production displayName could not exists.**
```js
const element = <Component />;
console.log(element.displayName === 'Component'); // true
```
This is something we did not solve yet. Cold API could help keep original types.
### Webpack ExtractTextPlugin
webpack ExtractTextPlugin is not compatible with React Hot Loader. Please disable it in development:
```js
new ExtractTextPlugin({
filename: 'styles/[name].[contenthash].css',
disable: NODE_ENV !== 'production',
});
```
#### Disabling a type change (❄️)
It is possible to disable React-Hot-Loader for a specific component, especially to
enable common way to type comparison.
See #991 for the idea behind ⛄️, and #304 about "type comparison" problem.
```js
import { cold } from 'react-hot-loader';
cold(SomeComponent) // this component will ignored by React-Hot-Loader
<SomeComponent />.type === SomeComponent // true
```
If you will update `cold` component React-Hot-Loader will complain (on error level), and then
React will cold-replace Component with a internal state lose.
> Reach-Hot-Loader: cold element got updated
##### Disabling a type change for all node_modules
You may _cold_ all components from node_modules. This will not work for HOC(like Redux) or dynamically created Components, but might help in most of situations, when type changes
are not welcomed, and modules are not expected to change.
```js
import { setConfig, cold } from 'react-hot-loader';
setConfig({
onComponentRegister: (type, name, file) => file.indexOf('node_modules') > 0 && cold(type),
// some components are not visible as top level variables,
// thus its not known where they were created
onComponentCreate: (type, name) => name.indexOf('styled') > 0 && cold(type),
});
```
! To be able to "cold" components from 'node_modules' you have to apply babel to node_modules, while this
folder is usually excluded.
You may add one more babel-loader, with only one React-Hot-Loader plugin inside to solve this.
**Consider using webpack-loader** for this.
##### React-Hooks
React hooks are not _really_ supported by React-Hot-Loader. Mostly due to our internal
processes of re-rendering React Tree, which is required to reconcile an updated application
before React will try to rerender it, and fail to do that, obviously.
* hooks **should work** for versions 4.6.0 and above (`pureSFC` is enabled by default).
* hooks will produce **errors** on every hot-update without patches to `react-dom`.
* hooks **may loss the state** without patches to `react-dom`.
* hooks does not support adding new hooks on the fly
* change in hooks for a mounted components will cause a runtime exception, and a `retry` button (at the nearest class component) will be shown.
Pressing a `retry` button will basically remount tree branch.
To mitigate any hook-related issues (and disable their hot-reloadability) - `cold` them.
* _cold_ components using hooks.
```js
import { setConfig, cold } from 'react-hot-loader';
setConfig({
onComponentCreate: (type, name) =>
(String(type).indexOf('useState') > 0 || String(type).indexOf('useEffect') > 0) && cold(type),
});
```
## API
### `hot(Component, options)`
Mark a component as hot.
#### Babel plugin
Right now babel plugin has only one option, enabled by default.
* `safetyNet` - will help you properly setup ReactHotLoader.
You may disable it to get more control on the module execution order.
```js
//.babelrc
{
"plugins": [
[
"react-hot-loader/babel",
{
"safetyNet": false
}
]
]
}
```
#### Important
**!!** Use `hot` only for module `exports`, not for module `imports`. **!!**
```js
import { hot } from 'react-hot-loader/root';
const App = () => 'Hello World!';
export default hot(App);
```
Keep in mind - by importing `react-hot-loader/root` you are setting up a boundary for update event propagation.
The higher(in module hierarchy) you have it - the more stuff would be updated on Hot Module Replacement.
To make RHL more reliable and safe, please place `hot` _below_ (ie somewhere in _imported_ modules):
* react-dom
* redux store creation
* any data, you want to preserve between updates
* big libraries
You may(but it's not required) place `hot` to the every route/page/feature/lazy chunk, thus make updates more scoped.
You don't need to wrap every component with `hot`, application works fine with a single one.
### (old)`hot(module, options)(Component, options)`
Mark a component as hot. The "new" hot is just hidding the first part - `hot(module)`, giving you
only the second `(App)`. The "new" hot is using old API.
```js
import { hot } from 'react-hot-loader';
const App = () => 'Hello World!';
export default hot(module)(App);
```
### `AppContainer`
Mark application as hot reloadable. (**Prefer** using `hot` helper, see below for migration details).
This low-level approach lets you make **hot **imports\_\_, not exports.
```js
import React from 'react';
import ReactDOM from 'react-dom';
import { AppContainer } from 'react-hot-loader';
import App from './containers/App';
const render = Component => {
ReactDOM.render(
<AppContainer>
<Component />
</AppContainer>,
document.getElementById('root'),
);
};
render(App);
// webpack Hot Module Replacement API
if (module.hot) {
// keep in mind - here you are configuring HMR to accept CHILDREN MODULE
// while `hot` would configure HMR for the CURRENT module
module.hot.accept('./containers/App', () => {
// if you are using harmony modules ({modules:false})
render(App);
// in all other cases - re-require App manually
render(require('./containers/App'));
});
}
```
### areComponentsEqual(Component1, Component2)
Test if two components have the same type.
```js
import { areComponentsEqual } from 'react-hot-loader';
import Component1 from './Component1';
import Component2 from './Component2';
areComponentsEqual(Component1, Component2); // true or false
```
### setConfig(config)
Set a new configuration for React Hot Loader.
Available options are:
* `logLevel`: specify log level, default to `"error"`, available values are: `['debug', 'log', 'warn', 'error']`
* `pureSFC`: enable Stateless Functional Component. If disabled they will be converted to React Components.
Default value: false.
* `ignoreSFC`: skip "patch" for SFC. "Hot loading" could still work, with webpack-patch present
* `pureRender`: do not amend `render` method of any component.
* for the rest see [index.d.ts](https://github.com/gaearon/react-hot-loader/blob/master/index.d.ts#L62-L133).
```js
// rhlConfig.js
import { setConfig } from 'react-hot-loader';
setConfig({ logLevel: 'debug' });
```
**It is important** to set configuration before any other action will take a place
```js
// index.js
import './rhlConfig' // <-- extract configuration to a separate file, and import it in the beggining
import React from 'react'
....
```
## Migrating from v3
### AppContainer vs hot
Prior v4 the right way to setup React Hot Loader was to wrap your Application
with `AppContainer`, set setup module acceptance by yourself. This approach is
still valid but only for advanced use cases, prefer using `hot` helper.
**React Hot Loader v3:**
```js
// App.js
import React from 'react';
const App = () => <div>Hello world!</div>;
export default App;
```
```js
// main.js
import React from 'react';
import ReactDOM from 'react-dom';
import { AppContainer } from 'react-hot-loader';
import App from './containers/App';
const render = Component => {
ReactDOM.render(
<AppContainer>
<Component />
</AppContainer>,
document.getElementById('root'),
);
};
render(App);
// webpack Hot Module Replacement API
if (module.hot) {
module.hot.accept('./containers/App', () => {
// if you are using harmony modules ({modules:false})
render(App);
// in all other cases - re-require App manually
render(require('./containers/App'));
});
}
```
**React Hot Loader v4:**
```js
// App.js
import React from 'react';
import { hot } from 'react-hot-loader';
const App = () => <div>Hello world!</div>;
export default hot(module)(App);
```
```js
// main.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './containers/App';
ReactDOM.render(<App />, document.getElementById('root'));
```
### Patch is optional
> Since 4.0 till 4.8
Code is automatically patched, you can safely remove `react-hot-loader/patch` from your webpack config,
if react-hot-loader is required before React in any other way.
### Error Boundary is inside every component
> Since 4.5.4
On Hot Module Update we will inject `componentDidCatch` and a _special_ `render`
to every Class-based component you have, making [Error Boundaries](https://reactjs.org/docs/error-boundaries.html#introducing-error-boundaries) more local.
After update we will remove all sugar, keeping only Boundaries you've created.
You can provide your own `errorReporter`, via `setConfig({errorReporter})` or opt-out from
root ErrorBoundaries setting `errorBoundary={false}` prop on `AppContainer` or `hot`.
However - this option affects only SFC behavior, and any ClassComponent would boundary itself.
```js
import { setConfig } from 'react-hot-loader';
import ErrorBoundary from './ErrorBoundary';
// ErrorBoundary will be given error and errorInfo prop.
setConfig({ errorReporter: ErrorBoundary });
```
If `errorReporter` is not set - full screen error overlay would be shown.
#### Setting global Error Reporter
Global Error Reporter would, created a fixed overlay on top the page,
would be used to display errors, not handled by `errorReporter`, and
any HMR error.
You may change, or disable this global error overlay
```js
// to disable
setConfig({ ErrorOverlay: () => null });
// to change
setConfig({ ErrorOverlay: MyErrorOverlay });
```
The UX of existing overlay is a subject to change, and we are open to any proposals.
## Known limitations and side effects
### Note about `hot`
`hot` accepts only React Component (Stateful or Stateless), resulting the `HotExported` variant of it.
The `hot` function will setup current module to _self-accept_ itself on reload, and will **ignore** all the changes, made for non-React components.
You may mark as many modules as you want. But `HotExportedComponent` **should be the only used export** of a _hot_-module.
> Note: Please note how often we have used `exported` keyword. `hot` is for exports.
> Note: Does nothing in production mode, just passes App through.
### New Components keep executing the old code
There is no way to hot-update constructor code, as result even new components
will be born as the first ones, and then grow into the last ones. As of today, this issue cannot be solved.
## Troubleshooting
If it doesn't work, in 99% of cases it's a configuration issue. A missing option, a
wrong path or port. webpack is very strict about configuration, and the best way
to find out what's wrong is to compare your project to an already working setup,
check out
**[examples](https://github.com/gaearon/react-hot-loader/tree/master/examples)**,
bit by bit.
If something doesn't work, in 99% of cases it's an issue with your code. The Component
didn't get registered, due to HOC or Decorator around it, which is making it
invisible to the Babel plugin or webpack loader.
We're also gathering
**[Troubleshooting Recipes](https://github.com/gaearon/react-hot-loader/blob/master/docs/Troubleshooting.md)**
so send a PR if you have a lesson to share!
### Switch into debug mode
Debug mode adds additional warnings and can tells you why React Hot Loader is
not working properly in your application.
```js
import { setConfig } from 'react-hot-loader';
setConfig({ logLevel: 'debug' });
```
## Contributors
This project exists thanks to all the people who contribute. [Contribute](CONTRIBUTING.md).
[![contributors][oc-contributors-img]](https://github.com/gaearon/react-hot-loader/graphs/contributors)
## Backers
Thank you to all our backers! 🙏 [Become a backer][oc-backer-link]
[![backers][oc-backer-img]][oc-backer-link]
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor][oc-sponsor-link]
<a href="https://opencollective.com/react-hot-loader/sponsor/0/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/1/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/2/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/3/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/4/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/5/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/6/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/7/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/8/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/react-hot-loader/sponsor/9/website" target="_blank"><img src="https://opencollective.com/react-hot-loader/sponsor/9/avatar.svg"></a>
## License
MIT
[build-badge]: https://img.shields.io/travis/gaearon/react-hot-loader.svg?style=flat-square
[build]: https://travis-ci.org/gaearon/react-hot-loader
[coverage-badge]: https://img.shields.io/codecov/c/github/gaearon/react-hot-loader.svg?style=flat-square
[coverage]: https://codecov.io/github/gaearon/react-hot-loader
[version-badge]: https://img.shields.io/npm/v/react-hot-loader.svg?style=flat-square
[package]: https://www.npmjs.com/package/react-hot-loader
[license-badge]: https://img.shields.io/npm/l/react-hot-loader.svg?style=flat-square
[license]: https://github.com/gaearon/react-hot-loader/blob/next/LICENSE
[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
[prs]: http://makeapullrequest.com
[chat]: https://gitter.im/gaearon/react-hot-loader
[chat-badge]: https://img.shields.io/gitter/room/gaearon/react-hot-loader.svg?style=flat-square
[github-watch-badge]: https://img.shields.io/github/watchers/gaearon/react-hot-loader.svg?style=social
[github-watch]: https://github.com/gaearon/react-hot-loader/watchers
[github-star-badge]: https://img.shields.io/github/stars/gaearon/react-hot-loader.svg?style=social
[github-star]: https://github.com/gaearon/react-hot-loader/stargazers
[oc-backer-badge]: https://opencollective.com/react-hot-loader/backers/badge.svg
[oc-sponsor-badge]: https://opencollective.com/react-hot-loader/sponsors/badge.svg
[oc-contributors-img]: https://opencollective.com/react-hot-loader/contributors.svg?width=890&button=false
[oc-backer-img]: https://opencollective.com/react-hot-loader/backers.svg?width=890
[oc-backer-link]: https://opencollective.com/react-hot-loader#backers
[oc-sponsor-link]: https://opencollective.com/react-hot-loader#sponsor
================================================
FILE: babel.js
================================================
'use strict';
if (process.env.NODE_ENV === 'production') {
module.exports = require('./dist/babel.production.min.js');
} else {
module.exports = require('./dist/babel.development.js');
}
================================================
FILE: docs/Troubleshooting.md
================================================
This file serves as a repository of common problems setting up React Hot Loader, and solutions to them.
Know a problem? Feel free to send a PR with edits.
### What Should It Look Like?
#### When the page loads

#### When you save a file

If you don't see some of the messages, or some of the requests, or if some of the requests fail, this may be a symptom of an incorrect configuration. Comparing your setup with [React Hot Boilerplate](https://github.com/gaearon/react-hot-boilerplate) may help you find the mistake. If hot loading appears to be working but you still do not see all of the above messages, you may need to check your dev server's [clientLogLevel](https://webpack.js.org/configuration/dev-server/#devserver-clientloglevel) setting. Depending on what it is set to, you may not see all of these messages, so you may need to adjust this setting to ensure that your configuration is correct.
##### Common TypeScript Mistake
If you're a TypeScript user then to get set up with HMR then it's not unusual to alias `module` as an `any` like so:
```ts
const anyModule = module as any;
if (anyModule.hot) {
anyModule.hot.accept('./app', () => render(App));
}
```
**DON'T DO THIS.** It will result in full page reloads each time you make a change. Instead do something like this:
```ts
if ((module as any).hot) {
(module as any).hot.accept('./app', () => render(App));
}
```
or this:
```ts
declare const module: any;
if (module.hot) {
module.hot.accept('./app', () => render(App));
}
```
Then you should see the expected messages / get the expected behaviour:
```
[HMR] Updated modules:
// ...
[HMR] App is up to date.
```
---
### Can't Build
#### Cannot resolve 'file' or 'directory' `react/lib/ReactMount`
If you're using a precompiled React instead of `react` npm package, React Hot Loader configuration will need a few tweaks. See [Usage with External React](https://github.com/gaearon/react-hot-loader/blob/master/docs/README.md#usage-with-external-react).
Make sure you have `'.js'` in `resolve.extensions` section of Webpack config, or Webpack won't be able to find any JS files without explicitly specifying extension in `require`.
#### SyntaxError: 'import' and 'export' may only appear at the top level
If you're using React Hot Loader together with [Babel](https://babeljs.io/) (ex 6to5), make sure React Hot Loader stays **to the left** of Babel in `loaders` array in Webpack config:
```js
{ test: /\.jsx?$/, loaders: ['react-hot', 'babel'], include: path.join(__dirname, 'src') }
```
Webpack applies `loaders` right to left, and we need to feed Babel's _output_ to React Hot Loader, not vice versa.
#### Error: Invalid path './' (or similar)
If you're using a relative output path in your Webpack config, wrap it in a call to `path.resolve()`:
```js
var path = require('path');
module.exports = {
...,
output: {
path: path.resolve('./my-relative-path'),
...
}
};
```
If you used WebpackDevServer CLI mode and after switching to Node it crashes with `Error: Invalid path ''`, you probably didn't have `path` specified in `output` at all. You can just put `path: __dirname` there, as it won't matter for development config.
### Module not found: Error: Cannot resolve module 'react-hot-loader'
Most likely you used `npm link` or `yarn link` to use a development version of a package in a different folder, and React Hot Loader processed it by mistake. Read the guide about linking package in [README linking section](../README.md#linking)
---
### Page Throws an Error
#### Uncaught TypeError: Cannot read property 'NODE_ENV' of undefined
#### Uncaught TypeError: Cannot read property 'env' of undefined
#### [socket.io] Cannot use 'in' operator to search for 'document' in undefined
Make sure you have `exclude: /node_modules/` or, better, `include: path.join(__dirname, 'src')` (path depends on your application) in loader configuration [just like on this line](https://github.com/gaearon/react-hot-boilerplate/blob/fbdbd93956241320bc3960d350c4dd0030cc6e84/webpack.config.js#L27). You never need to process `node_modules` with React Hot Loader. If you use other loaders such as `jsx?harmony` or `babel`, most likely they **also** need to have `include` specified.
---
### Can't Hot Reload
Generally, the best way to fix this class of errors is to compare your setup to [React Hot Boilerplate](https://github.com/gaearon/react-hot-boilerplate) very carefully and see what's different.
#### Try WebpackDevServer Node Interface Instead of CLI!
WebpackDevServer CLI mode [behaves slightly differently](https://github.com/webpack/webpack-dev-server/issues/106) from its Node API. When in doubt, I suggest you use Node API like [React Hot Boilerplate does](https://github.com/gaearon/react-hot-boilerplate/blob/master/server.js).
#### Check your NODE_ENV value
If you are seeing an error like this:
```
[HMR] The following modules couldn't be hot updated: (Full reload needed)
This is usually because the modules which have changed (and their parents) do not know how to hot reload themselves.
```
You may have `NODE_ENV` set to either `production` or `test`. Setting `NODE_ENV` to either of these will cause `react-hot-loader` to compile in production mode. Try setting `NODE_ENV` to something like `development`.
#### Uncaught RangeError: Maximum call stack size exceeded
When using WebpackDevServer CLI flag `--hot`, the plugin `new HotModuleReplacementPlugin()` should not be used and vice versa, they are mutually exclusive but the desired effect will work with any of them.
#### No 'Access-Control-Allow-Origin' header is present on the requested resource.
If you're trying to access Webpack Dev Server from a URL served on another port, you may try:
* Changing `WebpackDevServer` options to include CORS header:
```js
new WebpackDevServer(webpack(config), {
publicPath: config.output.publicPath,
hot: true,
headers: { 'Access-Control-Allow-Origin': '*' },
});
```
* Making sure that `webpack-dev-server` **client host and port** in `webpack.config.js` matches those of your development server:
```js
entry: [
'webpack-dev-server/client?http://localhost:3000', // WebpackDevServer host and port
'webpack/hot/only-dev-server',
'./src/app',
];
```
#### The following modules couldn't be hot updated: (They would need a full reload!)
**If you get this warning when editing a root component**, this may be because you don't export anything from it, and call `React.render` from there. Put your root component in a separate file (e.g. `App.jsx`) and `require` it from `index.js` where you call `React.render`.
You also get this warning in v1.x if you write your root component as [stateless plain function](http://facebook.github.io/react/docs/reusable-components.html#stateless-functions) instead of using `React.Component`. This problem is already solved completely in the upcoming [v3.x](https://github.com/gaearon/react-hot-boilerplate/pull/61).
This warning may also appear **if you edit some non-component file** which is `require`d from files other than components. This means hot update bubbled up, but the app couldn't handle it. This is normal! Just refresh.
If you get this warning **together with a 404 for `hot-update.json` file**, you're probably using an ancient version of `webpack-dev-server` (just update it).
#### I see “[WDS] Hot Module Replacement enabled” but nothing happens when I edit `App.js`
If you're running Node 0.11.13, you might want to try updating to 0.12. Some people reported this helped solve this problem. Also **make sure that your `require`s have the same filename casing as the files.** Having `App.js` and doing `require('app')` might trip the watcher on some systems.
OS X also has a rarely-occuring bug that causes some folders to get 'broken' with regards to file system change monitoring. Here are some suggested [fixes](http://feedback.livereload.com/knowledgebase/articles/86239).
#### I see “[HMR] Nothing hot updated.” and nothing happens when I edit `App.js`
If you have several entry points in `entry` configuration option, make sure `webpack/hot/only-dev-server` **is in each of them:**
```js
entry: {
app: ['./src/app', 'webpack/hot/only-dev-server'],
editor: ['./src/editor', 'webpack/hot/only-dev-server'],
...,
client: 'webpack-dev-server/client?http://localhost:3000'
}
```
You will have to include "client.js" in your host page for the hot updates to work. For example:
```html
<script src="/static/bundle-client.js"></script>
<script src="/static/bundle-app.js"></script>
<script src="/static/bundle-entry.js"></script>
```
The entry points that don't have `webpack/hot/only-dev-server` (or `webpack/hot/dev-server` if you fancy occasional reloads) won't know how to apply hot updates.
#### Syntax error: Unexpected token <
If you combine WebpackDevServer with an existing server like Express and get this error message on hot updates, it is because Webpack is configured to request hot updates _from the current hostname_. So if your Express server is on `8000` and `publicPath` in Webpack config is `/build/`, it will request hot updates from `http://localhost:8000/build/`, which in your case is served by Express. Instead, you need to set `publicPath` to point to the port where WebpackDevServer is running. For example, it could be `http://localhost:9000/build/`.
#### Not enough watchers
Verify that if you have enough available watchers in your system. If this value is too low, the file watcher in Webpack won't recognize the changes:
```
cat /proc/sys/fs/inotify/max_user_watches
```
Arch users, add `fs.inotify.max_user_watches=524288` to `/etc/sysctl.d/99-sysctl.conf` and then execute `sysctl --system`. Ubuntu users (and possibly others): `echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p`.
#### 404 errors for `hot-update.json` files
First, make sure you have recent versions of Webpack and Webpack Dev Server (>= 1.7 is fine). Earlier versions use 404 code when no updates were available, so it wasn't technically an error.
Now, take a look at the path where they are requested. Webpack uses `output.publicPath` from Webpack config to determine this path. If you forget to specify it, Webpack will request updates from a relative path to the current one, so any client-side routing will break it.
Normally you want it to be `'/'` if you're serving scripts from root, something like `'/scripts/'` if you have a virtual path for scripts, and something like `'http://localhost:port/scripts/` if you're using Webpack only for scripts but have another primary server like Express. **This config variable must also match `publicPath` option specified when creating `WebpackDevServer` instance.** [Take a look at React Hot Boilerplate](https://github.com/gaearon/react-hot-boilerplate/blob/master/server.js#L6) to get an idea.
---
### Misc
#### It's slowing down my build!
Make sure you have `include` limited to your app's modules in loader configuration [just like on this line](https://github.com/gaearon/react-hot-boilerplate/blob/fbdbd93956241320bc3960d350c4dd0030cc6e84/webpack.config.js#L27). You never need to process `node_modules` with React Hot Loader.
#### My bundle is so large!
Make sure you have separate configs for development and production. You don't need `react-hot` in `loaders` or `webpack-dev-server/client` or `webpack/hot/only-dev-server` in production config. They are only for development. For easier maintenance, you can set an environment variable before invoking Webpack and read it in config.
Also make sure you have these plugins in production config:
```js
// removes a lot of debugging code in React
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production'),
},
}),
// keeps hashes consistent between compilations
new webpack.optimize.OccurrenceOrderPlugin(),
// minifies your code
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false,
},
});
```
Oh, and don't forget to remove `devtool: 'eval'` from a production config. Otherwise Uglify won't uglify anything at all.
#### I can access my Single Page App (SPA) only via `/` on refresh
The problem is that by default **WebpackDevServer** doesn't deal with HTML5 History correctly and the server won't route the url as it should. You can fix this issue by setting `historyApiFallback: true`. Here's a full example:
```js
var webpack = require('webpack');
var WebpackDevServer = require('webpack-dev-server');
var config = require('./webpack.config');
var port = 4000;
var ip = '0.0.0.0';
new WebpackDevServer(webpack(config), {
publicPath: config.output.publicPath,
historyApiFallback: true,
}).listen(port, ip, function(err) {
if (err) {
return console.log(err);
}
console.log('Listening at ' + ip + ':' + port);
});
```
After this you should be able to access your SPA via any url that has been defined in it.
#### React-hot-loader: a Unknown was found where a Unknown was expected.
The problem is that after hot module update some branches of React Tree differs from the previous versions.
As result React-hot-loader will not update these branches at all, and you may lose internal components state.
The `equality` of Components are defined as:
1. They have same variable names in the same files. Ie they are both MyComponent from MyComponent.js
2. They have same displayName and similar code.
> Note: similar code is not _equal_ code. RHL will stand some small changes in code, or even adding a new method in class.
#### Not all of my code got updated.
Hot module replacement is a tricky thing. Just double check that you are not exporting anything else from the
modules with `hot` exported components – functions, constants, anything NOT REACT.
`hot` function setups module self-acceptance. And it may be a dangerous thing.
#### RHL is not working for Electron or Parcel
`hot` function is not tested in these environments, yet. Please use `old school` AppContainer and setup HRM manually.
#### RHL is not working with Webpack DLL
React Hot Loader rely on a Babel transformation that register all exports in a global. That's why dependencies included in [Webpack DLL](https://webpack.js.org/plugins/dll-plugin/#dllplugin) will not work.
#### React-hot-loader: fatal error caused by XXX - no instrumentation found.
React-hot-loader found an Element without instrumentation due to a wrong configuration.
To fix this issue - just require RHL before React.
Example of a wrong configuration:
```js
import * as React from 'react';
import { hot } from 'react-hot-loader'; // React is not patched
```
Example of correct configurations:
```js
import { hot } from 'react-hot-loader';
import * as React from 'react'; // React is now patched
```
```js
import React from 'react';
import { hot } from 'react-hot-loader'; // React is now patched
```
================================================
FILE: examples/SSR/.babelrc
================================================
{
"presets": [
"env",
"react"
],
"plugins": [
"react-hot-loader/babel",
"transform-class-properties",
"dynamic-import-node"
]
}
================================================
FILE: examples/SSR/.gitignore
================================================
node_modules
================================================
FILE: examples/SSR/package.json
================================================
{
"name": "react-hot-loader-ssr",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"build": "webpack",
"start": "babel-node ./src/server.js",
"start:webpack": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.9.7"
},
"dependencies": {
"babel-cli": "^6.26.0",
"express": "^4.16.2",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next",
"react-portal": "^4.1.2"
}
}
================================================
FILE: examples/SSR/src/App.js
================================================
import { hot, setConfig } from 'react-hot-loader';
import * as React from 'react';
import Counter from './Counter';
// import hidden from './HiddenComponent';
const App = () => (
<h1>
<p>{40}!</p>
<Counter />
<div>
{/*{hidden().counter}*/}
SSR, and I work fine!
</div>
</h1>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/SSR/src/Counter.js
================================================
import React from 'react';
const RAND = 1; //Math.round(Math.random() * 1000)
class Counter extends React.Component {
state = { count: 0 };
gen = 0;
componentDidMount() {
this.setState({
count: RAND,
});
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
// gen should change. count - no.
return (
<span>
{this.state.count}:{this.gen++}
</span>
);
}
}
export default Counter;
================================================
FILE: examples/SSR/src/HiddenComponent.js
================================================
import React from 'react';
import Counter from './Counter';
const hidden = function() {
return {
counter: () => (
<div>
this is hidden counter(<Counter />)
</div>
),
};
};
export default hidden;
================================================
FILE: examples/SSR/src/index.js
================================================
import 'babel-polyfill';
import React from 'react';
import { hydrate } from 'react-dom';
import App from './App';
//const root = document.createElement('div')
//document.body.appendChild(root)
const root = document.getElementById('root');
hydrate(<App />, root);
================================================
FILE: examples/SSR/src/server.js
================================================
import express from 'express';
import React from 'react';
import { renderToString } from 'react-dom/server';
import App from './App';
import template from './template';
const server = express();
server.use('/dist', express.static('dist'));
server.get('/', (req, res) => {
const app = <App />;
const appString = renderToString(app);
res.send(
template({
body: appString,
}),
);
});
server.listen(8080);
console.log('server ready');
================================================
FILE: examples/SSR/src/template.js
================================================
export default ({ body }) => {
return `
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="root">${body}</div>
</body>
<script src="/dist/bundle.js"></script>
</html>
`;
};
================================================
FILE: examples/SSR/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['webpack/hot/dev-server', './src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
//exclude: /node_modules|packages/, // should work without exclude
test: /\.js$/,
use: 'babel-loader',
},
],
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin(), new webpack.HotModuleReplacementPlugin()],
};
================================================
FILE: examples/all-possible-containers/.babelrc
================================================
{
"presets": [
"@babel/preset-flow",
"@babel/preset-react",
[
"@babel/preset-env",
{
"modules": false
}
]
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-syntax-dynamic-import"
],
"env": {
"test": {
"plugins": [
"@babel/plugin-transform-modules-commonjs"
]
},
"development": {
"plugins": [
"react-hot-loader/babel"
]
},
"production": {
"plugins": [
"@babel/plugin-transform-react-constant-elements",
"@babel/plugin-transform-react-inline-elements",
"babel-plugin-transform-react-pure-class-to-function",
"babel-plugin-transform-react-remove-prop-types"
]
}
}
}
================================================
FILE: examples/all-possible-containers/.editorconfig
================================================
[*]
charset=utf-8
end_of_line=crlf
insert_final_newline=false
indent_style=space
indent_size=2
================================================
FILE: examples/all-possible-containers/.flowconfig
================================================
[include]
src/
[ignore]
.*/__tests__/.*
================================================
FILE: examples/all-possible-containers/.gitignore
================================================
.idea
dist
node_modules
================================================
FILE: examples/all-possible-containers/LICENSE
================================================
MIT License
Copyright (c) 2017 Eli Sherer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: examples/all-possible-containers/README.md
================================================
# react-hot-loader-repro918
Reproduce an issue for gaearon/react-hot-loader#918
================================================
FILE: examples/all-possible-containers/package.json
================================================
{
"name": "react-hot-loader-repro918",
"version": "1.0.0",
"license": "UNLICENSED",
"description": "Reproduce an issue for gaearon/react-hot-loader#918",
"repository": {
"type": "git",
"url": "https://github.com/elisherer/react-hot-loader-repro918"
},
"author": {
"name": "Eli Sherer",
"email": "eli.sherer@gmail.com",
"url": "http://www.sherer.co.il"
},
"private": true,
"main": "src/index.js",
"scripts": {
"build": "cross-env NODE_ENV=production webpack -p",
"start": "webpack-serve --port 8080 --host 0.0.0.0",
"start:link": "cp -R ../../dist ./node_modules/react-hot-loader && cp -R ../../*.js ./node_modules/react-hot-loader"
},
"dependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-react-constant-elements": "^7.0.0",
"@babel/plugin-transform-react-inline-elements": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-loader": "8.0.0",
"babel-plugin-transform-react-pure-class-to-function": "1.0.1",
"babel-plugin-transform-react-remove-prop-types": "0.4.13",
"cross-env": "5.1.4",
"html-webpack-plugin": "3.2.0",
"jsx-compress-loader": "^0.0.1",
"react-hot-loader": "4.3.10",
"uglifyjs-webpack-plugin": "^2.0.1",
"webpack": "4.6.0",
"webpack-cli": "2.0.15",
"webpack-serve": "0.3.2"
}
}
================================================
FILE: examples/all-possible-containers/src/components/App.js
================================================
// @flow
import { hot } from 'react-hot-loader/root';
import React from 'react';
import Context from '../context';
import Counter from './Counter';
import ErrorBoundary from './ErrorBoundary';
import ModalComponent from './ModalComponent';
import ClassComponent from './ClassComponent';
import FunctionComponent from './FunctionComponent';
import PureClassComponent from './PureClassComponent';
import ConsumerClassComponent from './ConsumerClassComponent';
import ConsumerFunctionComponent from './ConsumerFunctionComponent';
import ConsumerPureClassComponent from './ConsumerPureClassComponent';
import ChildrenAsFunctionExample from './ChildrenAsFunctionExample';
import ConsumerConnectedComponent from './ConsumerConnectedComponent';
import ConnectedChildrenAFComponent from './ConnectedChildrenAFComponent';
import FunctionConsumerPureClassComponent from './FunctionConsumerPureClassComponent';
import HookedComponent from './Hook';
import { EDIT_ME } from './_editMe';
const Secret = (() => {
const A = () => (
<div>
component A <Counter />
</div>
);
const B = () => 'wrong';
return { A, B };
})();
class App extends React.Component {
state = {
error: null,
errorInfo: null,
open: false,
};
render() {
const { open, error, errorInfo } = this.state;
const { A, B } = Secret;
return (
<div>
<React.Fragment>
<fieldset>
<legend>App Content</legend>
{EDIT_ME}
</fieldset>
<HookedComponent />
<ClassComponent />
<FunctionComponent />
<PureClassComponent />
<ConsumerClassComponent />
<ConsumerFunctionComponent />
<ConsumerPureClassComponent />
<ChildrenAsFunctionExample />
<ConsumerConnectedComponent />
<ConnectedChildrenAFComponent />
<FunctionConsumerPureClassComponent />
<button onClick={() => this.setState({ open: true })}>Open Modal</button>
{open && <ModalComponent onRequestClose={() => this.setState({ open: false })} />}
<div>
<Context.Provider value="42">
<Context.Consumer>{value => (value === '42' ? <A /> : <B />)}</Context.Consumer>
</Context.Provider>
<PureClassComponent />
</div>
</React.Fragment>
</div>
);
}
}
let ExportedApp = App;
if (__DEV__) {
const { setConfig } = require('react-hot-loader');
setConfig({
logLevel: 'debug',
errorReporter: ErrorBoundary,
});
ExportedApp = hot(App);
}
export default ExportedApp;
================================================
FILE: examples/all-possible-containers/src/components/ChildrenAsFunctionComponent.js
================================================
import React from 'react';
import { EDIT_ME } from './_editMe';
class ChildrenAsFunctionComponent extends React.Component {
render() {
return <div>{this.props.children('passed-argument')}</div>;
}
}
export default ChildrenAsFunctionComponent;
================================================
FILE: examples/all-possible-containers/src/components/ChildrenAsFunctionExample.js
================================================
import React from 'react';
import ChildrenAsFunctionComponent from './ChildrenAsFunctionComponent';
import { EDIT_ME } from './_editMe';
const ChildrenAsFunctionExample = () => (
<ChildrenAsFunctionComponent>
{value => (
<fieldset>
<legend>Children as a function Component (value={value})</legend>
{EDIT_ME}
</fieldset>
)}
</ChildrenAsFunctionComponent>
);
export default ChildrenAsFunctionExample;
================================================
FILE: examples/all-possible-containers/src/components/ClassComponent.js
================================================
import React from 'react';
import { EDIT_ME } from './_editMe';
class ClassComponent extends React.Component {
render() {
return (
<div>
<fieldset>
<legend>Class Component</legend>
{EDIT_ME}
</fieldset>
</div>
);
}
}
export default ClassComponent;
================================================
FILE: examples/all-possible-containers/src/components/ConnectedChildrenAFComponent.js
================================================
import React from 'react';
import ChildrenAsFunctionComponent from './ChildrenAsFunctionComponent';
import { connect } from '../context';
import { EDIT_ME } from './_editMe';
const ConnectedChildrenAFComponent = ({ consumedValue }) => (
<ChildrenAsFunctionComponent>
{value => (
<fieldset>
<legend>
Children as a function Component (value={value}, consumedValue={consumedValue})
</legend>
{EDIT_ME}
</fieldset>
)}
</ChildrenAsFunctionComponent>
);
export default connect(ConnectedChildrenAFComponent);
================================================
FILE: examples/all-possible-containers/src/components/ConsumerClassComponent.js
================================================
import React from 'react';
import Context from '../context';
import { EDIT_ME } from './_editMe';
class ConsumerClassComponent extends React.Component {
render() {
return (
<Context.Consumer>
{value => (
<div>
<fieldset>
<legend>Consumer Class Component (value={value})</legend>
{EDIT_ME}
</fieldset>
</div>
)}
</Context.Consumer>
);
}
}
export default ConsumerClassComponent;
================================================
FILE: examples/all-possible-containers/src/components/ConsumerConnectedComponent.js
================================================
import React from 'react';
import { connect } from '../context';
import { EDIT_ME } from './_editMe';
class ConsumerConnectedComponent extends React.Component {
render() {
return (
<div>
<fieldset>
<legend>Consumer connected Component (value={this.props.consumedValue})</legend>
{EDIT_ME}
</fieldset>
</div>
);
}
}
export default connect(ConsumerConnectedComponent);
================================================
FILE: examples/all-possible-containers/src/components/ConsumerFunctionComponent.js
================================================
import React from 'react';
import Context from '../context';
import { EDIT_ME } from './_editMe';
const ConsumerFunctionComponent = () => (
<Context.Consumer>
{value => (
<div>
<fieldset>
<legend>Consumer Function Component (value={value})</legend>
{EDIT_ME}
</fieldset>
</div>
)}
</Context.Consumer>
);
export default ConsumerFunctionComponent;
================================================
FILE: examples/all-possible-containers/src/components/ConsumerPureClassComponent.js
================================================
import React from 'react';
import Context from '../context';
import { EDIT_ME } from './_editMe';
class ConsumerPureClassComponent extends React.Component {
render() {
return (
<Context.Consumer>
{value => (
<div>
<fieldset>
<legend>Consumer Pure Class Component (value={value})</legend>
{EDIT_ME}
</fieldset>
</div>
)}
</Context.Consumer>
);
}
}
export default ConsumerPureClassComponent;
================================================
FILE: examples/all-possible-containers/src/components/Counter.js
================================================
import React from 'react';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return <div>#{this.state.count}</div>;
}
}
export default Counter;
================================================
FILE: examples/all-possible-containers/src/components/ErrorBoundary.js
================================================
// @flow
import React from 'react';
const ErrorBoundary = ({ error, errorInfo }: { error: any, errorInfo: Object }) => (
<div
style={{
margin: '20px auto',
padding: '10px',
background: 'white',
border: '1px solid #555',
borderRadius: '5px',
width: '80%',
}}
>
<h2 style={{ margin: 0 }}>{'Oh-no! Something went wrong'}</h2>
<p style={{ color: 'red' }}>{error && error.toString()}</p>
<div>Stacktrace:</div>
<div style={{ color: 'red', marginTop: '10px' }}>
{errorInfo &&
errorInfo.componentStack &&
errorInfo.componentStack.split('\n').map((line, i) => <div key={i}>{line}</div>)}
</div>
</div>
);
export default ErrorBoundary;
================================================
FILE: examples/all-possible-containers/src/components/FunctionComponent.js
================================================
import React from 'react';
import { EDIT_ME } from './_editMe';
const FunctionComponent = () => (
<div>
<fieldset>
<legend>Function Component</legend>
{EDIT_ME}
</fieldset>
</div>
);
export default FunctionComponent;
================================================
FILE: examples/all-possible-containers/src/components/FunctionConsumerPureClassComponent.js
================================================
import React from 'react';
import Context from '../context';
import { EDIT_ME } from './_editMe';
/**
* The bug is reproduced in this file, edit the content of PureTest and see it doesn't update
* (Changing the PureComponent to Component makes the HMR work)
*/
class PureTest extends React.PureComponent {
render() {
return (
<div>
<fieldset>
<legend>Function Consumer Pure Class Component (value={this.props.value})</legend>
{EDIT_ME}
</fieldset>
</div>
);
}
}
const FunctionConsumerPureClassComponent = props => (
<Context.Consumer>
{value => (
<Context.Provider value={value + 'nested'}>
<Context.Consumer>{value => <PureTest value={value} {...props} />}</Context.Consumer>
</Context.Provider>
)}
</Context.Consumer>
);
export default FunctionConsumerPureClassComponent;
================================================
FILE: examples/all-possible-containers/src/components/Hook.js
================================================
import React, { useState, useEffect } from 'react';
import { hot } from 'react-hot-loader/root';
const SomeComponent = ac(() => import('./Counter'));
const App = () => (
<div>
<fieldset>
<legend>Hook with Async context</legend>
<SomeComponent />
</fieldset>
</div>
);
export default hot(App);
//
function ac(importComponent) {
return function Component(props) {
const [C, setComponent] = useState();
useEffect(() => {
importComponent().then(setComponent);
}, []);
return C ? <C.default {...props} /> : null;
};
}
================================================
FILE: examples/all-possible-containers/src/components/LazyComponent.js
================================================
import React from 'react';
import { EDIT_ME } from './_editMe';
import Counter from './Counter';
const LazyComponent = () => (
<div>
<fieldset>
<legend>Lazy Component</legend>
{EDIT_ME}
<Counter />
</fieldset>
</div>
);
export default LazyComponent;
================================================
FILE: examples/all-possible-containers/src/components/Modal.js
================================================
import React from 'react';
import ReactDOM from 'react-dom';
const modalRootId = 'modal-root';
let modalRoot = document.getElementById(modalRootId);
if (!modalRoot) {
modalRoot = document.createElement('div');
modalRoot.id = modalRootId;
document.body.appendChild(modalRoot);
}
const styles = {
modal: {
position: 'absolute',
top: '50%',
left: '50%',
right: 'auto',
bottom: 'auto',
border: '1px solid rgb(204, 204, 204)',
background: 'rgb(255, 255, 255)',
overflow: 'auto',
borderRadius: '4px',
outline: 'none',
padding: '20px',
zIndex: '1000',
marginRight: '-50%',
transform: 'translate(-50%, -50%)',
},
closeButton: {
position: 'absolute',
top: '12px',
right: '12px',
background:
'url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAwMDAwIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPg0KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4NCjwvc3ZnPg==) no-repeat',
backgroundSize: 'contain',
width: '24px',
height: '24px',
cursor: 'pointer',
},
content: {
minWidth: '300px',
maxWidth: '90vw',
maxHeight: 'calc(100vh - 100px)',
},
overlay: {
position: 'fixed',
top: '0',
left: '0',
right: '0',
bottom: '0',
backgroundColor: 'rgba(0, 0, 0, 0.5)',
zIndex: '999',
},
};
class Modal extends React.Component {
constructor(props) {
super(props);
this.el = document.createElement('div');
Object.keys(styles.overlay).forEach(key => {
this.el.style[key] = styles.overlay[key];
});
}
props: {
onRequestClose: Function,
title: string,
children: Object,
hideTitle?: boolean,
};
componentDidMount() {
modalRoot.appendChild(this.el);
}
componentWillUnmount() {
modalRoot.removeChild(this.el);
}
render() {
const { onRequestClose, title, children, hideTitle } = this.props;
return ReactDOM.createPortal(
<div style={styles.modal} role="dialog" aria-labelledby="modal__title" aria-describedby="modal__content">
{!hideTitle && (
<div id="modal__title" style={{ fontSize: '1.5em' }}>
{title}
</div>
)}
<div style={styles.closeButton} onClick={onRequestClose} title="Close" />
<div id="modal__content" style={styles.content}>
{children}
</div>
</div>,
this.el,
);
}
}
export default Modal;
================================================
FILE: examples/all-possible-containers/src/components/ModalComponent.js
================================================
// @flow
import React from 'react';
import Modal from './Modal';
import { EDIT_ME } from './_editMe';
const ModalComponent = ({ onRequestClose }: { onRequestClose: Function }) => (
<Modal onRequestClose={onRequestClose} title="Modal Component">
{EDIT_ME}
</Modal>
);
export default ModalComponent;
================================================
FILE: examples/all-possible-containers/src/components/PureClassComponent.js
================================================
import React from 'react';
import { EDIT_ME } from './_editMe';
class ClassComponent extends React.PureComponent {
render() {
return (
<div>
<fieldset>
<legend>Pure Class Component</legend>
{EDIT_ME}
</fieldset>
</div>
);
}
}
export default ClassComponent;
================================================
FILE: examples/all-possible-containers/src/components/SomethingWithHooks.js
================================================
================================================
FILE: examples/all-possible-containers/src/components/_editMe.js
================================================
export const EDIT_ME = 'Edit me';
================================================
FILE: examples/all-possible-containers/src/context.js
================================================
import React from 'react';
const Context = React.createContext('dummy-value');
export const connect = WrappedComponent => {
const ConnectComponent = props => (
<Context.Consumer>{value => <WrappedComponent {...props} consumedValue={value} />}</Context.Consumer>
);
ConnectComponent.displayName = `Connect(${WrappedComponent.displayName || WrappedComponent.name || 'Unknown'})`;
return ConnectComponent;
};
export default Context;
================================================
FILE: examples/all-possible-containers/src/index.js
================================================
import React, { StrictMode } from 'react';
import { render } from 'react-dom';
import App from './components/App';
import Context from './context';
const appElement = document.createElement('div');
appElement.id = 'root';
document.body.appendChild(appElement);
render(
<Context.Provider value="dummy">
<StrictMode>
<App />
</StrictMode>
</Context.Provider>,
appElement,
);
================================================
FILE: examples/all-possible-containers/src/wcl.js
================================================
'use strict';
const fs = require('fs');
const path = require('path');
const { SourceNode, SourceMapConsumer } = require('source-map');
const { SourceMapGenerator } = require('source-map');
function transform(source, map) {
if (source.indexOf('React.createElement') >= 0) {
const separator = '\n\n;';
const appendText = `
/** @jsx _J$X_ */
var __react_jsx__ = require('react');
var _J$X_ = (__react_jsx__.default || __react_jsx__).createElement;
`;
return this.callback(null, [appendText, source.replace(/React\.createElement\(/g, '_J$X_(')].join(separator));
}
if (source.match(/import (.*) from ['"]react["']/)) {
const separator = '\n\n;';
const appendText = `
import * as TmpReact from 'react';
const _J$X_ = TmpReact.createElement;
`;
return this.callback(null, [appendText, source].join(separator));
}
return this.callback(null, source, map);
}
module.exports = transform;
================================================
FILE: examples/all-possible-containers/webpack.config.js
================================================
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const exclude = absPath => /node_modules/.test(absPath);
const mode = process.env.NODE_ENV || 'development';
const production = mode === 'production';
const wcl = require('./src/wcl');
module.exports = {
mode,
entry: './src/index.js',
output: {
filename: '[name].[hash].js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
chunkFilename: '[name].[chunkhash].js',
devtoolModuleFilenameTemplate: info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/'),
},
devtool: production ? false : 'eval-source-map',
plugins: [
new webpack.DefinePlugin({
__DEV__: JSON.stringify(!production),
}),
new HtmlWebpackPlugin({
// Create index.html file
cache: production,
}),
],
module: {
strictExportPresence: true,
rules: [
{
test: /\.js$/,
use: ['react-hot-loader/webpack'],
},
{
test: /\.js$/,
exclude: /node_modules/,
use: ['babel-loader'],
},
],
},
optimization: {
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
toplevel: true,
mangle: true,
},
}),
],
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]/, // Create a vendor chunk with all the imported node_modules in it
name: 'vendor',
chunks: 'all',
},
},
},
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
// react: path.resolve(path.join(__dirname, './node_modules/react')),
// 'react-dom': path.resolve(path.join(__dirname, './node_modules/react-dom')),
// 'react-hot-loader': path.resolve(path.join(__dirname, './node_modules/react-hot-loader')),
// 'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
bail: true, // Fail out on the first error instead of tolerating it
};
================================================
FILE: examples/async-components/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties", "dynamic-import-node"]
}
================================================
FILE: examples/async-components/.gitignore
================================================
node_modules
================================================
FILE: examples/async-components/package.json
================================================
{
"name": "hot-react-loadable",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"@hot-loader/react-dom": "^16.7.0-alpha.2.1",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"@loadable/component": "^4.0.2",
"emotion": "^8.0.12",
"loadable-components": "^2.2.2",
"react": "^16.4.1",
"react-async-component": "^2.0.0",
"react-dom": "^16.4.1",
"react-emotion": "^8.0.12",
"react-hot-loader": "^4.5.2",
"react-imported-component": "^5.2.0",
"react-loadable": "^5.5.0",
"react-remock": "^0.2.1",
"react-universal-component": "^3.0.3",
"styled-components": "^2.4.0"
}
}
================================================
FILE: examples/async-components/src/App.js
================================================
import { hot, setConfig } from 'react-hot-loader';
import * as React from 'react';
import styled from 'styled-components';
import emoStyled from 'react-emotion';
// import CAsync from './chunks/async-component'
// import CLoadableComp from './chunks/loadable-components'
import { RLoadable1, RLoadable2 } from './chunks/react-loadable';
// import CImp from './chunks/react-imported-component'
// import CUni from './chunks/react-universal-component'
const BigText = styled.div`
font-size: 20px;
`;
const SmallText = emoStyled('div')`
font-size: 22px;
`;
const indirect = {
element: () => (
<SmallText>
hidden <Counter />
</SmallText>
),
};
const App = () => (
<div>
Testing React-Hot-Loader againts "React code splitting" components
<ul>
{/*<li>*/}
{/*Async-components <CAsync />*/}
{/*</li>*/}
{/*<li>*/}
{/*Loadable-components <CLoadableComp />*/}
{/*</li>*/}
<li>
React-Loadable <RLoadable1 />
1
</li>
{/*<li>*/}
{/*Imported-component <CImp />*/}
{/*</li>*/}
{/*<li>*/}
{/*Universal-component <CUni />*/}
{/*</li>*/}
</ul>
</div>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/async-components/src/Counter.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
//
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return (
<div>
1#{this.state.count}
<span>5</span>
</div>
);
}
}
export default Counter;
================================================
FILE: examples/async-components/src/Counter2.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
//return;
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 2 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return <div>2#{this.state.count}</div>;
}
}
export default Counter;
================================================
FILE: examples/async-components/src/chunks/async-component.js
================================================
import { asyncComponent } from 'react-async-component';
export default asyncComponent({
resolve: () => import('../Counter'),
});
================================================
FILE: examples/async-components/src/chunks/loadable-components.js
================================================
// import loadable from 'loadable-components' // this is old API
import loadable from '@loadable/component';
export const Loadable1 = loadable(() => import('../Counter'));
export const Loadable2 = loadable(() => import('../Counter2'));
================================================
FILE: examples/async-components/src/chunks/react-imported-component.js
================================================
import imported from 'react-imported-component';
const test = 115582;
export default imported(() => import('../Counter'));
================================================
FILE: examples/async-components/src/chunks/react-loadable.js
================================================
import React from 'react';
import Loadable from 'react-loadable';
export const RLoadable1 = Loadable({
loader: () => import('../Counter'),
loading: () => <div />,
});
export const RLoadable2 = Loadable({
loader: () => import('../Counter2'),
loading: () => <div />,
});
================================================
FILE: examples/async-components/src/chunks/react-universal-component.js
================================================
import universal from 'react-universal-component';
export default universal(() => import('../Counter'));
================================================
FILE: examples/async-components/src/index.js
================================================
import 'babel-polyfill';
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/async-components/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/, // should work without exclude
test: /\.js$/,
use: ['react-hot-loader/webpack', 'babel-loader'],
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
react: path.resolve(path.join(__dirname, './node_modules/react')),
'react-dom': path.resolve(path.join(__dirname, './node_modules/@hot-loader/react-dom')),
'react-hot-loader': path.resolve(path.join(__dirname, './node_modules/react-hot-loader')),
'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/async-portals/.babelrc
================================================
{
"presets": [
"env",
"react"
],
"plugins": [
"react-hot-loader/babel",
"transform-class-properties",
"dynamic-import-node"
]
}
================================================
FILE: examples/async-portals/.gitignore
================================================
node_modules
================================================
FILE: examples/async-portals/package.json
================================================
{
"name": "hot-async-portals",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.9.7"
},
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next",
"react-portal": "^4.1.2"
}
}
================================================
FILE: examples/async-portals/src/App.js
================================================
import { hot, setConfig } from 'react-hot-loader';
import * as React from 'react';
import Counter from './Counter';
import AsyncComponent from './async-component';
import Portal from './Portal';
const importer = () => import('./DeferredRender');
const Async = () => <AsyncComponent importer={importer} />;
const App = () => (
<h1>
<p>{40}!</p>
<Counter />
<Async />
<Portal />
</h1>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/async-portals/src/Counter.js
================================================
import React from 'react';
const RAND = Math.round(Math.random() * 1000);
class Counter extends React.Component {
state = { count: 0 };
gen = 0;
componentDidMount() {
this.setState({
count: RAND,
});
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
// gen should change. count - no.
return (
<span>
{this.state.count}:{this.gen++}
</span>
);
}
}
export default Counter;
================================================
FILE: examples/async-portals/src/DeferredRender.js
================================================
import React from 'react';
import { Portal } from 'react-portal';
import hidden from './HiddenComponent';
const Hidden = hidden();
const APortal = () => (
<Portal>
This is a async portal
<Hidden.counter />
</Portal>
);
export default () => (
<div>
ASYNC
<Hidden.counter />
and <APortal />
</div>
);
================================================
FILE: examples/async-portals/src/HiddenComponent.js
================================================
import React from 'react';
import Counter from './Counter';
const hidden = function() {
return {
counter: () => (
<div>
this is hidden counter(<Counter />)
</div>
),
};
};
export default hidden;
================================================
FILE: examples/async-portals/src/Portal.js
================================================
import React from 'react';
import { Portal } from 'react-portal';
import hidden from './HiddenComponent';
const Hidden = hidden();
const InPortal = ({ children }) => <div> + {children}</div>;
export default () => (
<Portal>
<InPortal>
This is a first portal
<Hidden.counter />
</InPortal>
</Portal>
);
================================================
FILE: examples/async-portals/src/async-component.js
================================================
import React, { Component } from 'react';
class AsyncComponent extends Component {
constructor(props) {
super(props);
this.state = {};
}
componentWillMount() {
this.load();
}
componentWillReceiveProps() {
if (module.hot) {
setImmediate(() => {
this.load();
});
}
}
load() {
return this.props.importer().then(payload => {
this.setState({ AsyncComponent: payload.default });
});
}
render() {
const { AsyncComponent } = this.state;
if (AsyncComponent) {
return <AsyncComponent {...this.props} />;
}
return <div>async</div>;
}
}
export default AsyncComponent;
================================================
FILE: examples/async-portals/src/index.js
================================================
import 'babel-polyfill';
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/async-portals/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
//exclude: /node_modules|packages/, // should work without exclude
test: /\.js$/,
use: 'babel-loader',
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
react: path.resolve(path.join(__dirname, './node_modules/react')),
'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/decorators/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties", "transform-decorators-legacy"]
}
================================================
FILE: examples/decorators/.gitignore
================================================
node_modules
================================================
FILE: examples/decorators/package.json
================================================
{
"name": "hot-decorators",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.9.7"
},
"dependencies": {
"autobind-decorator": "^2.1.0",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next"
}
}
================================================
FILE: examples/decorators/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
import Counter from './Counter';
const App = () => (
<h1>
Hello, world.<br />
<Counter />
</h1>
);
export default hot(module)(App);
================================================
FILE: examples/decorators/src/Counter.js
================================================
import React from 'react';
import autobind from 'autobind-decorator';
@autobind
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(this.increment, 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
increment() {
this.setState(prevState => ({ count: prevState.count + 1 }));
}
render() {
return this.state.count;
}
}
export default Counter;
================================================
FILE: examples/decorators/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/decorators/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/electron-typescript/.gitignore
================================================
.DS_Store
node_modules
dist
================================================
FILE: examples/electron-typescript/README.md
================================================
# Electron typescript
## Run application
First you should start to watch application folder via webpack to enable hot-reloading
```bash
yarn watch
```
In another terminal window run application
```bash
yarn start
```
## Compile application
```bash
yarn build
```
In another terminal window run application
```bash
yarn start
```
================================================
FILE: examples/electron-typescript/app/App.tsx
================================================
import { hot } from 'react-hot-loader/root'
import * as React from 'react'
import Counter from './Counter'
const App = () => (
<div>
<h1>Hello, world.</ h1>
<Counter/>
</div>
)
export default hot(App)
================================================
FILE: examples/electron-typescript/app/Counter.tsx
================================================
import * as React from 'react'
class Counter extends React.Component<{}, { count: number }> {
interval: number
constructor(props : any) {
super(props)
this.state = { count: 0 }
}
componentDidMount() {
this.interval = window.setInterval(
() => this.setState(prevState => ({ count: prevState.count + 1 })),
200,
)
}
generateString1() {
return "1"
}
generateString2 = () => {
return "1"
}
componentWillUnmount() {
clearInterval(this.interval)
}
render() {
return <span>{this.state.count} - {this.generateString1()} - {this.generateString2()}</span>
}
}
export default Counter
================================================
FILE: examples/electron-typescript/app/development.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Electron typescript example</title>
</head>
<body>
<main id="app" class="app"></main>
<script src="http://localhost:8080/bundle.js"></script>
<script src="http://localhost:8080/webpack-dev-server.js"></script>
</body>
</html>
================================================
FILE: examples/electron-typescript/app/index.tsx
================================================
import 'core-js/stable'
import 'regenerator-runtime/runtime'
import * as React from 'react'
import { render } from 'react-dom'
import App from './App'
render(<App />, document.getElementById('app'))
================================================
FILE: examples/electron-typescript/app/production.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Electron typescript example</title>
</head>
<body>
<main id="app" class="app"></main>
<script type="text/javascript" src="bundle.js"></script>
</body>
</html>
================================================
FILE: examples/electron-typescript/main.js
================================================
const { app, BrowserWindow } = require('electron');
const path = require('path');
let mainWindow;
const createWindow = () => {
mainWindow = new BrowserWindow({
width: 1000,
height: 600,
webPreferences: {
nodeIntegration: true,
},
});
mainWindow.loadFile(path.join(__dirname, 'dist/index.html'));
mainWindow.on('closed', () => {
mainWindow = null;
});
mainWindow.on('ready-to-show', () => {
mainWindow.show();
mainWindow.focus();
});
};
app.on('ready', () => {
createWindow();
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') app.quit();
});
app.on('activate', () => {
if (mainWindow === null) createWindow();
});
================================================
FILE: examples/electron-typescript/package.json
================================================
{
"name": "electron-typescript",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"watch": "rm -rf ./dist && mkdir ./dist && cp ./app/development.html ./dist/index.html && NODE_ENV=development webpack-dev-server --hot",
"build": "rm -rf ./dist && mkdir ./dist && cp ./app/production.html ./dist/index.html && NODE_ENV=development webpack",
"start": "electron main.js"
},
"main": "main.js",
"devDependencies": {
"@babel/core": "^7.6.0",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-proposal-decorators": "^7.6.0",
"@babel/preset-env": "^7.6.0",
"@babel/preset-react": "^7.0.0",
"@babel/preset-typescript": "^7.6.0",
"@types/react": "^16.9.2",
"@types/react-dom": "^16.9.0",
"babel-loader": "^8.0.6",
"core-js": "^3.2.1",
"electron": "^6.0.8",
"fork-ts-checker-webpack-plugin": "^1.5.0",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-hot-loader": "^4.12.13",
"regenerator-runtime": "^0.13.3",
"typescript": "^3.6.3",
"webpack": "^4.40.2",
"webpack-cli": "^3.3.8",
"webpack-dev-server": "^3.8.1",
"webpack-merge": "^4.2.2"
}
}
================================================
FILE: examples/electron-typescript/tsconfig.json
================================================
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es6",
"jsx": "react"
},
"include": ["./app/**/*"]
}
================================================
FILE: examples/electron-typescript/webpack.config.js
================================================
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
const env = process.env.NODE_ENV;
const appConfig = {
mode: env || 'development',
entry: ['./app/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
resolve: {
modules: ['node_modules'],
alias: {
'react-dom': '@hot-loader/react-dom',
},
extensions: ['.ts', '.tsx', '.js', '.jsx'],
},
target: 'electron-renderer',
module: {
rules: [
{
test: /\.(j|t)s(x)?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
cacheDirectory: true,
babelrc: false,
presets: [
['@babel/preset-env', { targets: { browsers: 'last 1 version' } }],
'@babel/preset-typescript',
'@babel/preset-react',
],
plugins: [
// plugin-proposal-decorators is only needed if you're using experimental decorators in TypeScript
['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
'react-hot-loader/babel',
],
},
},
},
],
},
};
const developmentConfig = {
output: {
publicPath: 'http://localhost:8080/',
},
plugins: [new ForkTsCheckerWebpackPlugin(), new webpack.NamedModulesPlugin()],
devtool: 'eval-source-map',
};
const productionConfig = {
output: {
publicPath: '/',
},
};
module.exports = merge(appConfig, env === 'production' ? productionConfig : developmentConfig);
================================================
FILE: examples/hotCold/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/hotCold/.gitignore
================================================
node_modules
================================================
FILE: examples/hotCold/package.json
================================================
{
"name": "hot-cold",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"emotion": "^8.0.12",
"react": "^16.3.2",
"react-circle": "^1.1.1",
"react-dom": "^16.2.0",
"react-emotion": "^8.0.12",
"react-hot-loader": "^4.2.0",
"styled-components": "^2.4.0"
}
}
================================================
FILE: examples/hotCold/src/App.js
================================================
import { hot, setConfig } from 'react-hot-loader';
import * as React from 'react';
import styled from 'styled-components';
import emoStyled from 'react-emotion';
import Circle from 'react-circle';
import Counter from './Counter';
const BigText = styled.div`
font-size: 20px;
`;
const SmallText = emoStyled('div')`
font-size: 22px;
`;
const indirect = {
element: () => (
<SmallText>
hidden <Counter />
</SmallText>
),
};
const aNumber = 100500;
const App = () => (
<h1>
<BigText>1.Hello, world! {aNumber} </BigText>
<br />
<SmallText>2.Hello, world.</SmallText>
<br />
<Counter />
<indirect.element />
<p>{BigText === <BigText />.type ? 'BigText is cold' : 'BigText is hot'} (should be cold!)</p>
<p>{SmallText === <SmallText />.type ? 'SmallText is cold' : 'SmallText is hot'} (should be cold!)</p>
<p>{Circle === <Circle />.type ? 'Circle is cold' : 'Circle is hot'} (should be cold!)</p>
<p>{Counter === <Counter />.type ? 'Counter is cold' : 'Counter is hot'} (should be cold!)</p>
<Circle progress={35} />
<div>{[<span key={1}>depend on aNumber - </span>, aNumber % 2 && <indirect.element key="2" />]}</div>
</h1>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/hotCold/src/Counter.js
================================================
import React from 'react';
import { cold } from 'react-hot-loader';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return <div>#{this.state.count}</div>;
}
}
export default cold(Counter);
//export default Counter;
================================================
FILE: examples/hotCold/src/index.js
================================================
import 'babel-polyfill';
import React from 'react';
import { render } from 'react-dom';
import './reactHotLoader.setup';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/hotCold/src/reactHotLoader.setup.js
================================================
import { setConfig, cold } from 'react-hot-loader';
setConfig({
onComponentRegister: (type, name, file) => file.indexOf('node_modules') > 0 && cold(type),
onComponentCreate: (type, name) => name.indexOf('styled') > 0 && cold(type),
});
================================================
FILE: examples/hotCold/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const babelPlugin = path.resolve(__dirname, './node_modules/react-hot-loader/babel');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: ['react-hot-loader/webpack', 'babel-loader'],
},
{
include: /node_modules/,
test: /\.js$/,
use: {
loader: 'react-hot-loader/webpack',
},
},
/*
// babel is an option, but slow option
{
include: /node_modules/,
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
// plugins: ['react-hot-loader/babel'] // <<----- you need this
plugins: [babelPlugin], // you DON'T need this
},
},
},
/* */
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
// you don't need this
react: path.resolve(path.join(__dirname, './node_modules/react')),
'react-hot-loader': path.resolve(path.join(__dirname, './node_modules/react-hot-loader')),
'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/indeterminateComponent/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/indeterminateComponent/.gitignore
================================================
node_modules
================================================
FILE: examples/indeterminateComponent/package.json
================================================
{
"name": "hot-indeternimate-component",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next"
}
}
================================================
FILE: examples/indeterminateComponent/src/App.js
================================================
import { hot, setConfig } from 'react-hot-loader';
import * as React from 'react';
import Counter from './Counter';
class AsyncMiddle1 extends React.Component {
render() {
return (
<div>
1:<Counter />
</div>
);
}
}
class AsyncMiddle2 extends React.Component {
render() {
return (
<div>
2:<Counter />
</div>
);
}
}
const DeferAsync = (props, context) => {
if (props.n === 1) {
return new AsyncMiddle1(props, context);
}
return new AsyncMiddle2(props, context);
};
const SimpleWrapper = () => (
<div>
C: <Counter /> 44
</div>
);
const App = () => (
<h1>
1. <SimpleWrapper />
2. <DeferAsync test={3} n={1} />
3. <DeferAsync test={3} n={2} />
4.{' '}
<Counter>
inner:<Counter />
</Counter>
test#5
</h1>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/indeterminateComponent/src/Counter.js
================================================
import React from 'react';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return (
<div>
{this.state.count}
{this.props.children && <span>{this.props.children}</span>}
</div>
);
}
}
export default Counter;
================================================
FILE: examples/indeterminateComponent/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/indeterminateComponent/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
react: path.resolve(path.join(__dirname, './node_modules/react')),
'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/mobx/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties", "transform-decorators-legacy"]
}
================================================
FILE: examples/mobx/.gitignore
================================================
node_modules
================================================
FILE: examples/mobx/package.json
================================================
{
"name": "hot-mobx",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"autobind-decorator": "^2.1.0",
"mobx": "^5.0.3",
"mobx-react": "^5.2.3",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next"
}
}
================================================
FILE: examples/mobx/src/App.js
================================================
import React from 'react';
import { hot, setConfig } from 'react-hot-loader';
import Counter from './Counter';
const Element1 = ({ children }) => <div>Block1 {children}</div>;
const Element2 = () => (
<div>
Block2 <Counter />
</div>
);
const App = () => (
<h1>
Hello, mobx<br />
<Counter />
<Element1>
<Counter />
</Element1>
<Element2 />
</h1>
);
setConfig({ logLevel: 'debug' });
export default hot(module)(App);
================================================
FILE: examples/mobx/src/Counter.js
================================================
import React, { Component } from 'react';
import { hot } from 'react-hot-loader';
import { observer } from 'mobx-react';
import { observable } from 'mobx';
class Counter extends React.Component {
state = { count: Math.round(Math.random() * 1000) };
componentDidMount() {
//this.interval = setInterval(this.increment, 200)
}
componentWillUnmount() {
clearInterval(this.interval);
}
increment = () => {
this.setState(prevState => ({ count: prevState.count + 1 }));
};
render() {
return this.state.count;
}
}
class Comp extends Component {
state = {
obsObj: null,
};
static getDerivedStateFromProps(nextProps, prevState) {
return { obsObj: nextProps.obsObj };
}
componentDidMount() {
//setInterval(() => this.setState({update: 1}), 5000);
}
render() {
const { prop1 } = this.state.obsObj || {};
return (
<div style={{ border: '10px solid red' }}>
{prop1}
<Counter />
</div>
);
}
}
const ObsComp = observer(Comp);
class App extends Component {
@observable
obj = {
prop1: 'Example',
};
render() {
return (
<div>
<ObsComp obsObj={this.obj} />
</div>
);
}
}
export default App;
================================================
FILE: examples/mobx/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/mobx/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
react: path.resolve(path.join(__dirname, './node_modules/react')),
'babel-core': path.resolve(path.join(__dirname, './node_modules/@babel/core')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/multiple-hocs/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/multiple-hocs/.gitignore
================================================
node_modules
================================================
FILE: examples/multiple-hocs/package.json
================================================
{
"name": "hot-multiple-hocs",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next",
"recompose": "^0.26.0"
}
}
================================================
FILE: examples/multiple-hocs/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
import Counter from './Counter';
const App = () => (
<h1>
Hello, world.<br />
<Counter />
</h1>
);
export default hot(module)(App);
================================================
FILE: examples/multiple-hocs/src/Counter.js
================================================
import React from 'react';
import * as r from 'recompose';
const Counter = r.compose(
r.pure,
r.withProps({ style: { color: 'red' } }),
r.withState('count', 'setCount', 0),
r.lifecycle({
componentDidMount() {
this.interval = setInterval(() => this.props.setCount(this.props.count + 1), 200);
},
componentWillUnmount() {
clearInterval(this.interval);
},
}),
)(({ style, count }) => <div style={style}>{count}</div>);
export default Counter;
================================================
FILE: examples/multiple-hocs/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/multiple-hocs/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/parcel/.babelrc
================================================
{
"presets": ["env"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/parcel/.gitignore
================================================
node_modules
.cache
dist
================================================
FILE: examples/parcel/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>My React Project</title>
</head>
<body>
<div id="root"></div>
<script src="./src/index.js"></script>
</body>
</html>
================================================
FILE: examples/parcel/package.json
================================================
{
"name": "hot-parcel",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "parcel index.html --no-cache",
"start:prod": "parcel build index.html",
"start:link": "cp -R ../../dist ./node_modules/react-hot-loader && cp -R ../../*.js ./node_modules/react-hot-loader"
},
"devDependencies": {
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.7.0",
"parcel-bundler": "^1.12.3"
},
"dependencies": {
"@hot-loader/react-dom": "^16.8.6",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-hot-loader": "^4.11.1"
},
"alias": {
"react-dom": "@hot-loader/react-dom"
}
}
================================================
FILE: examples/parcel/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
import Counter from './Counter';
import { Problem } from './Problem';
const App = () => {
return (
<h1>
<Problem />
Hello, world.<br />
<Counter />
</h1>
);
};
export default hot(module)(App);
================================================
FILE: examples/parcel/src/Counter.js
================================================
import React from 'react';
class Counter extends React.Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return this.state.count;
}
}
export default Counter;
export function useExternalHook() {
React.useEffect(() => {});
}
================================================
FILE: examples/parcel/src/Problem.js
================================================
import React from 'react';
import { useExternalHook } from './Counter';
export function Problem() {
useExternalHook();
return <div>the problem!!!!</div>;
}
================================================
FILE: examples/parcel/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
function renderApp() {
render(<App />, root);
}
renderApp();
module.hot.accept();
================================================
FILE: examples/preact/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/preact/.gitignore
================================================
node_modules
================================================
FILE: examples/preact/package.json
================================================
{
"name": "hot-preact-simple",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"preact": "^8.2.7",
"preact-compat": "^3.18.0",
"react-hot-loader": "^4.1.2"
},
"resolutions": {
"react": "preact-compat",
"react-dom": "preact-compat"
}
}
================================================
FILE: examples/preact/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader';
import Counter from './Counter';
import { Internal } from './Internal';
const App = () => (
<h1>
Hello, world<br />
<Internal />
<br />
<Counter />
</h1>
);
export default hot(module)(App);
================================================
FILE: examples/preact/src/Counter.js
================================================
import { h, render, Component } from 'preact';
// Tell Babel to transform JSX into h() calls:
/** @jsx h */
class Counter extends Component {
state = { count: 0 };
componentDidMount() {
this.interval = setInterval(() => this.setState(prevState => ({ count: prevState.count + 1 })), 200);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render(props, state) {
return <div>10:{state.count}</div>;
}
}
export default Counter;
================================================
FILE: examples/preact/src/Internal.js
================================================
import preact from 'preact';
import Counter from './Counter';
// Tell Babel to transform JSX into h() calls:
/** @jsx preact.h */
export const Internal = () => (
<div>
<Counter />
</div>
);
================================================
FILE: examples/preact/src/hotLoaderSetup.js
================================================
import reactHotLoader, { setConfig } from 'react-hot-loader';
import preact from 'preact';
reactHotLoader.preact(preact);
================================================
FILE: examples/preact/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
// setup Preact before importing App
import './hotLoaderSetup';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/preact/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
resolve: {
alias: {
react: path.resolve(path.join(__dirname, './node_modules/preact-compat')),
'react-dom': path.resolve(path.join(__dirname, './node_modules/preact-compat')),
},
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/react-bootstrap/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/react-bootstrap/.gitignore
================================================
node_modules
================================================
FILE: examples/react-bootstrap/package.json
================================================
{
"name": "hot-react-bootstrap",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"react": "^16.2.0",
"react-bootstrap": "^0.31.5",
"react-dom": "^16.2.0",
"react-hot-loader": "next"
}
}
================================================
FILE: examples/react-bootstrap/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader/root';
import FormControl from 'react-bootstrap/lib/FormControl';
class App extends React.Component {
render() {
return (
<h1>
Hello, world.<br />
<FormControl inputRef={console.log} defaultValue="Write me" />
</h1>
);
}
}
export default hot(App);
================================================
FILE: examples/react-bootstrap/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/react-bootstrap/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/react-refetch/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/react-refetch/.gitignore
================================================
node_modules
================================================
FILE: examples/react-refetch/package.json
================================================
{
"name": "hot-react-refetch",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^2.30.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^3.1.11"
},
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-hot-loader": "next",
"react-refetch": "^1.0.4"
}
}
================================================
FILE: examples/react-refetch/src/App.js
================================================
import React from 'react';
import { hot } from 'react-hot-loader/root';
import Characters from './Characters';
const App = () => (
<h1>
Hello, world.<br />
<Characters />
</h1>
);
export default hot(App);
================================================
FILE: examples/react-refetch/src/Characters.js
================================================
import React from 'react';
import { connect } from 'react-refetch';
const Characters = ({ charactersFetch }) =>
charactersFetch.fulfilled ? (
<ul>{charactersFetch.value.results.map(result => <li key={result.url}>{result.name}</li>)}</ul>
) : null;
export default connect(() => ({
charactersFetch: 'https://swapi.co/api/people/',
}))(Characters);
================================================
FILE: examples/react-refetch/src/index.js
================================================
import React from 'react';
import { render } from 'react-dom';
import App from './App';
const root = document.createElement('div');
document.body.appendChild(root);
render(<App />, root);
================================================
FILE: examples/react-refetch/webpack.config.babel.js
================================================
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules|packages/,
test: /\.js$/,
use: 'babel-loader',
},
],
},
plugins: [new HtmlWebpackPlugin(), new webpack.NamedModulesPlugin()],
};
================================================
FILE: examples/redux/.babelrc
================================================
{
"presets": ["env", "react"],
"plugins": ["react-hot-loader/babel", "transform-class-properties"]
}
================================================
FILE: examples/redux/.gitignore
================================================
node_modules
================================================
FILE: examples/redux/index_csp.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Webpack App</title>
<meta http-equiv="Content-Security-Policy" content="default-src http:">
</head>
<body>
</body>
</html>
================================================
FILE: examples/redux/package.json
================================================
{
"name": "hot-redux",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --hot"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.25.1",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.10"
},
"dependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-hot-loader": "^4.12.5",
"react-redux": "^7.1.0",
"redux": "^4.0.3"
}
}
=======
gitextract_mfr81t7r/ ├── .babelrc ├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .travis.yml ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── PATRONS.md ├── README.md ├── babel.js ├── docs/ │ └── Troubleshooting.md ├── examples/ │ ├── SSR/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ ├── HiddenComponent.js │ │ │ ├── index.js │ │ │ ├── server.js │ │ │ └── template.js │ │ └── webpack.config.babel.js │ ├── all-possible-containers/ │ │ ├── .babelrc │ │ ├── .editorconfig │ │ ├── .flowconfig │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── App.js │ │ │ │ ├── ChildrenAsFunctionComponent.js │ │ │ │ ├── ChildrenAsFunctionExample.js │ │ │ │ ├── ClassComponent.js │ │ │ │ ├── ConnectedChildrenAFComponent.js │ │ │ │ ├── ConsumerClassComponent.js │ │ │ │ ├── ConsumerConnectedComponent.js │ │ │ │ ├── ConsumerFunctionComponent.js │ │ │ │ ├── ConsumerPureClassComponent.js │ │ │ │ ├── Counter.js │ │ │ │ ├── ErrorBoundary.js │ │ │ │ ├── FunctionComponent.js │ │ │ │ ├── FunctionConsumerPureClassComponent.js │ │ │ │ ├── Hook.js │ │ │ │ ├── LazyComponent.js │ │ │ │ ├── Modal.js │ │ │ │ ├── ModalComponent.js │ │ │ │ ├── PureClassComponent.js │ │ │ │ ├── SomethingWithHooks.js │ │ │ │ └── _editMe.js │ │ │ ├── context.js │ │ │ ├── index.js │ │ │ └── wcl.js │ │ └── webpack.config.js │ ├── async-components/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ ├── Counter2.js │ │ │ ├── chunks/ │ │ │ │ ├── async-component.js │ │ │ │ ├── loadable-components.js │ │ │ │ ├── react-imported-component.js │ │ │ │ ├── react-loadable.js │ │ │ │ └── react-universal-component.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── async-portals/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ ├── DeferredRender.js │ │ │ ├── HiddenComponent.js │ │ │ ├── Portal.js │ │ │ ├── async-component.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── decorators/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── electron-typescript/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── App.tsx │ │ │ ├── Counter.tsx │ │ │ ├── development.html │ │ │ ├── index.tsx │ │ │ └── production.html │ │ ├── main.js │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── hotCold/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ ├── index.js │ │ │ └── reactHotLoader.setup.js │ │ └── webpack.config.babel.js │ ├── indeterminateComponent/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── mobx/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── multiple-hocs/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── parcel/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ └── src/ │ │ ├── App.js │ │ ├── Counter.js │ │ ├── Problem.js │ │ └── index.js │ ├── preact/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ ├── Internal.js │ │ │ ├── hotLoaderSetup.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── react-bootstrap/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── react-refetch/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Characters.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── redux/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── index_csp.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── HookComponent.js │ │ │ ├── MyComponent.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── styled-components/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── index_csp.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Async.js │ │ │ ├── Counter.js │ │ │ ├── Spring.js │ │ │ ├── config.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ ├── typescript/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── Counter.tsx │ │ │ └── index.tsx │ │ ├── tsconfig.json │ │ └── webpack.config.babel.js │ ├── typescript-no-babel/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── Counter.tsx │ │ │ └── index.tsx │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── webpack/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.js │ │ │ ├── Counter.js │ │ │ └── index.js │ │ └── webpack.config.babel.js │ └── webpack-modern/ │ ├── .babelrc │ ├── .gitignore │ ├── package.json │ ├── src/ │ │ ├── App.js │ │ ├── Counter.js │ │ └── index.js │ └── webpack.config.babel.js ├── index.d.ts ├── index.js ├── package.json ├── patch.js ├── rollup.config.js ├── root.d.ts ├── root.js ├── scripts/ │ ├── ci.sh │ ├── react-15.ci.sh │ ├── react-16.ci.sh │ └── react-17.ci.sh ├── src/ │ ├── AppContainer.dev.js │ ├── AppContainer.prod.js │ ├── adapters/ │ │ └── preact.js │ ├── babel.dev.js │ ├── babel.prod.js │ ├── configuration.js │ ├── errorReporter.js │ ├── fresh/ │ │ └── babel.js │ ├── global/ │ │ ├── generation.js │ │ └── modules.js │ ├── hot.dev.js │ ├── hot.prod.js │ ├── index.dev.js │ ├── index.prod.js │ ├── internal/ │ │ ├── constants.js │ │ ├── getReactStack.js │ │ ├── reactUtils.js │ │ └── stack/ │ │ ├── hydrateFiberStack.js │ │ └── hydrateLegacyStack.js │ ├── logger.js │ ├── proxy/ │ │ ├── constants.js │ │ ├── createClassProxy.js │ │ ├── index.js │ │ ├── inject.js │ │ ├── transferStaticProps.js │ │ └── utils.js │ ├── reactHotLoader.js │ ├── reconciler/ │ │ ├── componentComparator.js │ │ ├── fiberUpdater.js │ │ ├── hotReplacementRender.js │ │ ├── index.js │ │ ├── proxies.js │ │ ├── proxyAdapter.js │ │ ├── resolver.js │ │ └── utils.js │ ├── utils/ │ │ └── runQueue.js │ ├── utils.dev.js │ ├── utils.prod.js │ └── webpack/ │ ├── index.js │ ├── makeIdentitySourceMap.js │ ├── patch.js │ └── webpackTagCommonJSExports.js ├── test/ │ ├── .eslintrc.js │ ├── AppContainer.dev.test.js │ ├── __babel_fixtures__/ │ │ ├── bindings.js │ │ ├── class-properties/ │ │ │ ├── arguments.js │ │ │ ├── arrow-function-in-constructor.js │ │ │ ├── async-functions-expression-body.js │ │ │ ├── async-functions.js │ │ │ ├── block-body.js │ │ │ ├── default-params.js │ │ │ ├── destructured-params.js │ │ │ ├── expression-body.js │ │ │ ├── nested-arguments.js │ │ │ ├── nested-new.target.js │ │ │ ├── new.target.js │ │ │ ├── not-a-function.js │ │ │ ├── not-an-arrow-function.js │ │ │ ├── same-name-as-class-method.js │ │ │ └── static-property.js │ │ ├── counter.js │ │ ├── drop-hot-half.prod.js │ │ ├── drop-hot.prod.js │ │ ├── hooks.js │ │ ├── issue-246.js │ │ ├── local-hooks.js │ │ └── name-clash.js │ ├── __snapshots__/ │ │ └── babel.test.js.snap │ ├── babel.test.js │ ├── build.test.js │ ├── cases/ │ │ ├── hooks/ │ │ │ └── useContext.test.js │ │ └── memo/ │ │ └── memo.test.js │ ├── global/ │ │ ├── generation.test.js │ │ └── modules.test.js │ ├── hot/ │ │ ├── .gitignore │ │ ├── createPatchedReact.js │ │ ├── react-dom.integration.spec.js │ │ └── react-dom.no-integration.spec.js │ ├── hot.dev.test.js │ ├── index.dev.test.js │ ├── internal/ │ │ ├── getReactStack.test.js │ │ └── reactUtils.test.js │ ├── prod/ │ │ ├── AppContainer.prod.test.js │ │ ├── hot.prod.test.js │ │ └── utils.prod.test.js │ ├── proxy/ │ │ ├── consistency.test.js │ │ ├── helper.js │ │ ├── instance-descriptor.test.js │ │ ├── instance-method.test.js │ │ ├── instance-property.test.js │ │ ├── lifecycle-method.test.js │ │ ├── static-descriptor.test.js │ │ ├── static-method.test.js │ │ ├── static-property.test.js │ │ └── unmounting.test.js │ ├── reactHotLoader.test.js │ ├── reconciler/ │ │ └── proxyAdapter.test.js │ ├── reconciler.test.js │ └── utils.test.js ├── testConfig/ │ ├── babel.js │ └── setupTests.js └── webpack.js
Showing preview only (339K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (708 symbols across 110 files)
FILE: examples/SSR/src/Counter.js
constant RAND (line 3) | const RAND = 1;
class Counter (line 5) | class Counter extends React.Component {
method componentDidMount (line 9) | componentDidMount() {
method componentWillUnmount (line 15) | componentWillUnmount() {
method render (line 19) | render() {
FILE: examples/all-possible-containers/src/components/App.js
class App (line 34) | class App extends React.Component {
method render (line 41) | render() {
FILE: examples/all-possible-containers/src/components/ChildrenAsFunctionComponent.js
class ChildrenAsFunctionComponent (line 4) | class ChildrenAsFunctionComponent extends React.Component {
method render (line 5) | render() {
FILE: examples/all-possible-containers/src/components/ClassComponent.js
class ClassComponent (line 4) | class ClassComponent extends React.Component {
method render (line 5) | render() {
FILE: examples/all-possible-containers/src/components/ConsumerClassComponent.js
class ConsumerClassComponent (line 5) | class ConsumerClassComponent extends React.Component {
method render (line 6) | render() {
FILE: examples/all-possible-containers/src/components/ConsumerConnectedComponent.js
class ConsumerConnectedComponent (line 5) | class ConsumerConnectedComponent extends React.Component {
method render (line 6) | render() {
FILE: examples/all-possible-containers/src/components/ConsumerPureClassComponent.js
class ConsumerPureClassComponent (line 5) | class ConsumerPureClassComponent extends React.Component {
method render (line 6) | render() {
FILE: examples/all-possible-containers/src/components/Counter.js
class Counter (line 3) | class Counter extends React.Component {
method componentDidMount (line 6) | componentDidMount() {
method componentWillUnmount (line 10) | componentWillUnmount() {
method render (line 14) | render() {
FILE: examples/all-possible-containers/src/components/FunctionConsumerPureClassComponent.js
class PureTest (line 10) | class PureTest extends React.PureComponent {
method render (line 11) | render() {
FILE: examples/all-possible-containers/src/components/Hook.js
function ac (line 16) | function ac(importComponent) {
FILE: examples/all-possible-containers/src/components/Modal.js
class Modal (line 56) | class Modal extends React.Component {
method constructor (line 57) | constructor(props) {
FILE: examples/all-possible-containers/src/components/PureClassComponent.js
class ClassComponent (line 4) | class ClassComponent extends React.PureComponent {
method render (line 5) | render() {
FILE: examples/all-possible-containers/src/components/_editMe.js
constant EDIT_ME (line 1) | const EDIT_ME = 'Edit me';
FILE: examples/all-possible-containers/src/wcl.js
function transform (line 8) | function transform(source, map) {
FILE: examples/async-components/src/Counter.js
class Counter (line 4) | class Counter extends React.Component {
method componentDidMount (line 7) | componentDidMount() {
method componentWillUnmount (line 12) | componentWillUnmount() {
method render (line 16) | render() {
FILE: examples/async-components/src/Counter2.js
class Counter (line 4) | class Counter extends React.Component {
method componentDidMount (line 7) | componentDidMount() {
method componentWillUnmount (line 12) | componentWillUnmount() {
method render (line 16) | render() {
FILE: examples/async-portals/src/Counter.js
constant RAND (line 3) | const RAND = Math.round(Math.random() * 1000);
class Counter (line 5) | class Counter extends React.Component {
method componentDidMount (line 9) | componentDidMount() {
method componentWillUnmount (line 15) | componentWillUnmount() {
method render (line 19) | render() {
FILE: examples/async-portals/src/async-component.js
class AsyncComponent (line 3) | class AsyncComponent extends Component {
method constructor (line 4) | constructor(props) {
method componentWillMount (line 9) | componentWillMount() {
method componentWillReceiveProps (line 13) | componentWillReceiveProps() {
method load (line 21) | load() {
method render (line 27) | render() {
FILE: examples/decorators/src/Counter.js
class Counter (line 4) | @autobind
method componentDidMount (line 8) | componentDidMount() {
method componentWillUnmount (line 12) | componentWillUnmount() {
method increment (line 16) | increment() {
method render (line 20) | render() {
FILE: examples/electron-typescript/app/Counter.tsx
class Counter (line 3) | class Counter extends React.Component<{}, { count: number }> {
method constructor (line 6) | constructor(props : any) {
method componentDidMount (line 11) | componentDidMount() {
method generateString1 (line 18) | generateString1() {
method componentWillUnmount (line 26) | componentWillUnmount() {
method render (line 30) | render() {
FILE: examples/hotCold/src/Counter.js
class Counter (line 4) | class Counter extends React.Component {
method componentDidMount (line 7) | componentDidMount() {
method componentWillUnmount (line 11) | componentWillUnmount() {
method render (line 15) | render() {
FILE: examples/indeterminateComponent/src/App.js
class AsyncMiddle1 (line 5) | class AsyncMiddle1 extends React.Component {
method render (line 6) | render() {
class AsyncMiddle2 (line 15) | class AsyncMiddle2 extends React.Component {
method render (line 16) | render() {
FILE: examples/indeterminateComponent/src/Counter.js
class Counter (line 3) | class Counter extends React.Component {
method componentDidMount (line 6) | componentDidMount() {
method componentWillUnmount (line 10) | componentWillUnmount() {
method render (line 14) | render() {
FILE: examples/mobx/src/Counter.js
class Counter (line 6) | class Counter extends React.Component {
method componentDidMount (line 9) | componentDidMount() {
method componentWillUnmount (line 13) | componentWillUnmount() {
method render (line 21) | render() {
class Comp (line 26) | class Comp extends Component {
method getDerivedStateFromProps (line 31) | static getDerivedStateFromProps(nextProps, prevState) {
method componentDidMount (line 35) | componentDidMount() {
method render (line 39) | render() {
class App (line 52) | class App extends Component {
method render (line 58) | render() {
FILE: examples/multiple-hocs/src/Counter.js
method componentDidMount (line 9) | componentDidMount() {
method componentWillUnmount (line 13) | componentWillUnmount() {
FILE: examples/parcel/src/Counter.js
class Counter (line 3) | class Counter extends React.Component {
method componentDidMount (line 6) | componentDidMount() {
method componentWillUnmount (line 10) | componentWillUnmount() {
method render (line 14) | render() {
function useExternalHook (line 21) | function useExternalHook() {
FILE: examples/parcel/src/Problem.js
function Problem (line 4) | function Problem() {
FILE: examples/parcel/src/index.js
function renderApp (line 5) | function renderApp() {
FILE: examples/preact/src/Counter.js
class Counter (line 6) | class Counter extends Component {
method componentDidMount (line 9) | componentDidMount() {
method componentWillUnmount (line 13) | componentWillUnmount() {
method render (line 17) | render(props, state) {
FILE: examples/react-bootstrap/src/App.js
class App (line 5) | class App extends React.Component {
method render (line 6) | render() {
FILE: examples/redux/src/HookComponent.js
function HookComponent (line 3) | function HookComponent() {
FILE: examples/redux/src/MyComponent.js
class MyComponent1 (line 4) | class MyComponent1 extends React.Component {
method render (line 5) | render() {
FILE: examples/styled-components/src/App.js
method render (line 82) | render() {
FILE: examples/styled-components/src/Counter.js
function RippleComponent (line 31) | function RippleComponent() {
FILE: examples/styled-components/src/Spring.js
function SpringTest (line 17) | function SpringTest() {
FILE: examples/typescript-no-babel/src/Counter.tsx
class Counter (line 3) | class Counter extends React.Component<{}, { count: number }> {
method constructor (line 6) | constructor(props: any) {
method componentDidMount (line 11) | componentDidMount() {
method generateString1 (line 18) | generateString1() {
method componentWillUnmount (line 28) | componentWillUnmount() {
method render (line 32) | render() {
FILE: examples/typescript/src/Counter.tsx
class Counter (line 3) | class Counter extends React.Component<{}, { count: number }> {
method constructor (line 6) | constructor(props : any) {
method componentDidMount (line 11) | componentDidMount() {
method generateString1 (line 18) | generateString1() {
method componentWillUnmount (line 26) | componentWillUnmount() {
method render (line 30) | render() {
FILE: examples/webpack-modern/src/Counter.js
class Counter (line 3) | class Counter extends React.Component {
method componentDidMount (line 6) | componentDidMount() {
method componentWillUnmount (line 10) | componentWillUnmount() {
method render (line 14) | render() {
FILE: examples/webpack/src/Counter.js
class Counter (line 3) | class Counter extends React.Component {
method componentDidMount (line 6) | componentDidMount() {
method componentWillUnmount (line 10) | componentWillUnmount() {
method render (line 14) | render() {
FILE: index.d.ts
type ErrorReporterProps (line 3) | interface ErrorReporterProps {
type AppContainerProps (line 7) | interface AppContainerProps {
type AppChildren (line 12) | interface AppChildren {
class AppContainer (line 16) | class AppContainer extends React.Component<AppContainerProps & AppChildr...
type HotError (line 50) | interface HotError {
type Config (line 55) | interface Config {
FILE: root.js
function fallbackHot (line 34) | function fallbackHot() {
FILE: src/AppContainer.dev.js
class AppContainer (line 10) | class AppContainer extends React.Component {
method getDerivedStateFromProps (line 11) | static getDerivedStateFromProps(nextProps, prevState) {
method constructor (line 24) | constructor(props) {
method shouldComponentUpdate (line 39) | shouldComponentUpdate(prevProps, prevState) {
method componentDidCatch (line 50) | componentDidCatch(error, errorInfo) {
method retryHotLoaderError (line 70) | retryHotLoaderError() {
method render (line 76) | render() {
method children (line 96) | children(props) {
FILE: src/AppContainer.prod.js
function AppContainer (line 5) | function AppContainer(props) {
FILE: src/babel.dev.js
function plugin (line 17) | function plugin(args, options = {}) {
FILE: src/babel.prod.js
function isImportedFromPackages (line 5) | function isImportedFromPackages(path, name, packages) {
function isImportedFromRHL (line 17) | function isImportedFromRHL(path, name) {
function isImportedFromRHLRoot (line 21) | function isImportedFromRHLRoot(path, name) {
function getRHLContext (line 25) | function getRHLContext(file) {
function plugin (line 61) | function plugin() {
FILE: src/errorReporter.js
class ErrorOverlay (line 112) | class ErrorOverlay extends React.Component {
method render (line 133) | render() {
function clearExceptions (line 180) | function clearExceptions() {
function logException (line 187) | function logException(error, errorInfo, component) {
FILE: src/fresh/babel.js
constant SIGNATURE (line 10) | const SIGNATURE = '__signature__';
function createRegistration (line 17) | function createRegistration(programPath, persistentID) {
function isComponentishName (line 30) | function isComponentishName(name) {
function findInnerComponents (line 34) | function findInnerComponents(inferredName, path, callback) {
function isBuiltinHook (line 169) | function isBuiltinHook(hookName) {
function getCalleeName (line 197) | function getCalleeName(callee) {
function getHookCallsSignature (line 205) | function getHookCallsSignature(functionNode, scope) {
function createArgumentsForSignature (line 219) | function createArgumentsForSignature(node, signature, scope) {
method CallExpression (line 234) | CallExpression(path) {
method ExportDefaultDeclaration (line 292) | ExportDefaultDeclaration(path) {
method enter (line 339) | enter(path) {
method exit (line 393) | exit(path) {
method exit (line 438) | exit(path) {
method enter (line 491) | enter(path) {
FILE: src/hot.dev.js
method componentDidMount (line 151) | componentDidMount() {
method componentWillUnmount (line 155) | componentWillUnmount() {
method render (line 168) | render() {
FILE: src/internal/constants.js
constant PREFIX (line 2) | const PREFIX = '__reactstandin__';
constant REGENERATE_METHOD (line 3) | const REGENERATE_METHOD = `${PREFIX}regenerateByEval`;
FILE: src/internal/getReactStack.js
function getReactStack (line 9) | function getReactStack(instance) {
FILE: src/internal/reactUtils.js
function isReactClass (line 14) | function isReactClass(Component) {
function isReactClassInstance (line 28) | function isReactClassInstance(Component) {
constant CONTEXT_CURRENT_VALUE (line 55) | const CONTEXT_CURRENT_VALUE = '_currentValue';
FILE: src/internal/stack/hydrateFiberStack.js
function pushStack (line 6) | function pushStack(stack, node) {
function hydrateFiberStack (line 22) | function hydrateFiberStack(node, stack) {
FILE: src/internal/stack/hydrateLegacyStack.js
function pushState (line 3) | function pushState(stack, type, instance) {
function hydrateLegacyStack (line 19) | function hydrateLegacyStack(node, stack) {
FILE: src/logger.js
method debug (line 5) | debug(...args) {
method log (line 10) | log(...args) {
method warn (line 15) | warn(...args) {
method error (line 20) | error(...args) {
FILE: src/proxy/constants.js
constant PREFIX (line 1) | const PREFIX = '__reactstandin__';
constant PROXY_KEY (line 2) | const PROXY_KEY = `${PREFIX}key`;
constant GENERATION (line 3) | const GENERATION = `${PREFIX}proxyGeneration`;
constant REGENERATE_METHOD (line 4) | const REGENERATE_METHOD = `${PREFIX}regenerateByEval`;
constant UNWRAP_PROXY (line 5) | const UNWRAP_PROXY = `${PREFIX}getCurrent`;
constant CACHED_RESULT (line 6) | const CACHED_RESULT = `${PREFIX}cachedResult`;
constant PROXY_IS_MOUNTED (line 7) | const PROXY_IS_MOUNTED = `${PREFIX}isMounted`;
constant RENDERED_GENERATION (line 9) | const RENDERED_GENERATION = 'REACT_HOT_LOADER_RENDERED_GENERATION';
FILE: src/proxy/createClassProxy.js
function createClassProxy (line 100) | function createClassProxy(InitialComponent, proxyKey, options = {}) {
FILE: src/proxy/inject.js
function mergeComponents (line 6) | function mergeComponents(ProxyComponent, NextComponent, InitialComponent...
function checkLifeCycleMethods (line 108) | function checkLifeCycleMethods(ProxyComponent, NextComponent) {
function inject (line 131) | function inject(target, currentGeneration, injectedMembers) {
FILE: src/proxy/transferStaticProps.js
constant RESERVED_STATICS (line 5) | const RESERVED_STATICS = [
function transferStaticProps (line 19) | function transferStaticProps(ProxyComponent, savedDescriptors, PreviousC...
FILE: src/proxy/utils.js
function safeReactConstructor (line 4) | function safeReactConstructor(Component, lastInstance) {
function isNativeFunction (line 16) | function isNativeFunction(fn) {
function ProxyComponent (line 54) | function ProxyComponent(props, context) {
function getOwnKeys (line 65) | function getOwnKeys(target) {
function shallowStringsEqual (line 69) | function shallowStringsEqual(a, b) {
function deepPrototypeUpdate (line 78) | function deepPrototypeUpdate(dest, source) {
function safeDefineProperty (line 89) | function safeDefineProperty(target, key, props) {
FILE: src/reactHotLoader.js
method signature (line 60) | signature(type, key, getCustomHooks = noDeps) {
method register (line 64) | register(type, uniqueLocalName, fileName, options = {}) {
method reset (line 122) | reset() {
method preact (line 126) | preact(instance) {
method resolveType (line 130) | resolveType(type) {
method patch (line 134) | patch(React, ReactDOM) {
FILE: src/reconciler/componentComparator.js
function haveEqualSignatures (line 24) | function haveEqualSignatures(prevType, nextType) {
FILE: src/reconciler/hotReplacementRender.js
constant NO_CHILDREN (line 80) | const NO_CHILDREN = { children: [] };
FILE: src/reconciler/proxyAdapter.js
function asyncReconciledRender (line 26) | function asyncReconciledRender(target) {
function proxyWrapper (line 30) | function proxyWrapper(element) {
constant ERROR_STATE (line 54) | const ERROR_STATE = 'react_hot_loader_catched_error';
constant ERROR_STATE_PROTO (line 55) | const ERROR_STATE_PROTO = 'react_hot_loader_catched_error-prototype';
constant OLD_RENDER (line 56) | const OLD_RENDER = 'react_hot_loader_original_render';
function componentDidCatch (line 58) | function componentDidCatch(error, errorInfo) {
function componentRender (line 72) | function componentRender(...args) {
function retryHotLoaderError (line 101) | function retryHotLoaderError() {
FILE: src/reconciler/resolver.js
function resolveUtility (line 14) | function resolveUtility(type) {
function resolveComponent (line 33) | function resolveComponent(type, options = {}) {
function resolveProxy (line 53) | function resolveProxy(type) {
function resolveNotComponent (line 61) | function resolveNotComponent(type) {
FILE: src/reconciler/utils.js
constant UNDEFINED_NAMES (line 6) | const UNDEFINED_NAMES = {
function clearStringFast (line 20) | function clearStringFast(str) {
function merge (line 82) | function merge(...sources) {
FILE: src/webpack/index.js
function transform (line 12) | function transform(source, map) {
FILE: src/webpack/makeIdentitySourceMap.js
function makeIdentitySourceMap (line 3) | function makeIdentitySourceMap(content, resourcePath) {
FILE: src/webpack/patch.js
constant CJS (line 139) | const CJS = `
constant ESM (line 153) | const ESM = `
function additionalTransform (line 179) | function additionalTransform(source) {
function transform (line 186) | function transform(source) {
FILE: test/AppContainer.dev.test.js
class App (line 25) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 48) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 69) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 94) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 112) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 134) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 151) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 171) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 196) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class SubApp (line 222) | class SubApp extends Component {
method componentWillUnmount (line 223) | componentWillUnmount() {
method componentWillUnmount (line 265) | componentWillUnmount() {
method componentWillUnmount (line 312) | componentWillUnmount() {
method componentWillUnmount (line 357) | componentWillUnmount() {
class App (line 232) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class SubApp (line 264) | class SubApp extends Component {
method componentWillUnmount (line 223) | componentWillUnmount() {
method componentWillUnmount (line 265) | componentWillUnmount() {
method componentWillUnmount (line 312) | componentWillUnmount() {
method componentWillUnmount (line 357) | componentWillUnmount() {
class App (line 276) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class SubApp (line 311) | class SubApp extends Component {
method componentWillUnmount (line 223) | componentWillUnmount() {
method componentWillUnmount (line 265) | componentWillUnmount() {
method componentWillUnmount (line 312) | componentWillUnmount() {
method componentWillUnmount (line 357) | componentWillUnmount() {
class App (line 321) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class SubApp (line 356) | class SubApp extends Component {
method componentWillUnmount (line 223) | componentWillUnmount() {
method componentWillUnmount (line 265) | componentWillUnmount() {
method componentWillUnmount (line 312) | componentWillUnmount() {
method componentWillUnmount (line 357) | componentWillUnmount() {
class App (line 368) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 408) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 440) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 471) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 505) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 543) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 578) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 616) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 649) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class Pure (line 685) | class Pure extends PureComponent {
method componentWillUnmount (line 686) | componentWillUnmount() {
method render (line 690) | render() {
method componentWillUnmount (line 726) | componentWillUnmount() {
method render (line 730) | render() {
class RenderFn (line 697) | class RenderFn extends PureComponent {
method render (line 698) | render() {
class App (line 707) | class App extends PureComponent {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class Pure (line 725) | class Pure extends PureComponent {
method componentWillUnmount (line 686) | componentWillUnmount() {
method render (line 690) | render() {
method componentWillUnmount (line 726) | componentWillUnmount() {
method render (line 730) | render() {
class MountSpy (line 793) | class MountSpy extends PureComponent {
method componentWillUnmount (line 796) | componentWillUnmount() {
method render (line 800) | render() {
method componentWillUnmount (line 831) | componentWillUnmount() {
method render (line 835) | render() {
method componentWillUnmount (line 864) | componentWillUnmount() {
method render (line 868) | render() {
method componentWillUnmount (line 906) | componentWillUnmount() {
method render (line 910) | render() {
method componentWillUnmount (line 1789) | componentWillUnmount() {
method render (line 1793) | render() {
method componentWillUnmount (line 1869) | componentWillUnmount() {
method render (line 1873) | render() {
method componentWillUnmount (line 2000) | componentWillUnmount() {
method render (line 2004) | render() {
class MountSpy (line 828) | class MountSpy extends PureComponent {
method componentWillUnmount (line 796) | componentWillUnmount() {
method render (line 800) | render() {
method componentWillUnmount (line 831) | componentWillUnmount() {
method render (line 835) | render() {
method componentWillUnmount (line 864) | componentWillUnmount() {
method render (line 868) | render() {
method componentWillUnmount (line 906) | componentWillUnmount() {
method render (line 910) | render() {
method componentWillUnmount (line 1789) | componentWillUnmount() {
method render (line 1793) | render() {
method componentWillUnmount (line 1869) | componentWillUnmount() {
method render (line 1873) | render() {
method componentWillUnmount (line 2000) | componentWillUnmount() {
method render (line 2004) | render() {
class MountSpy (line 861) | class MountSpy extends PureComponent {
method componentWillUnmount (line 796) | componentWillUnmount() {
method render (line 800) | render() {
method componentWillUnmount (line 831) | componentWillUnmount() {
method render (line 835) | render() {
method componentWillUnmount (line 864) | componentWillUnmount() {
method render (line 868) | render() {
method componentWillUnmount (line 906) | componentWillUnmount() {
method render (line 910) | render() {
method componentWillUnmount (line 1789) | componentWillUnmount() {
method render (line 1793) | render() {
method componentWillUnmount (line 1869) | componentWillUnmount() {
method render (line 1873) | render() {
method componentWillUnmount (line 2000) | componentWillUnmount() {
method render (line 2004) | render() {
class App (line 881) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class MountSpy (line 903) | class MountSpy extends PureComponent {
method componentWillUnmount (line 796) | componentWillUnmount() {
method render (line 800) | render() {
method componentWillUnmount (line 831) | componentWillUnmount() {
method render (line 835) | render() {
method componentWillUnmount (line 864) | componentWillUnmount() {
method render (line 868) | render() {
method componentWillUnmount (line 906) | componentWillUnmount() {
method render (line 910) | render() {
method componentWillUnmount (line 1789) | componentWillUnmount() {
method render (line 1793) | render() {
method componentWillUnmount (line 1869) | componentWillUnmount() {
method render (line 1873) | render() {
method componentWillUnmount (line 2000) | componentWillUnmount() {
method render (line 2004) | render() {
class App (line 937) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 968) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 1007) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 1041) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 1077) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 981) | __reactstandin__regenerateByEval(key, code) {
method render (line 987) | render() {
method render (line 1008) | render() {
method render (line 1042) | render() {
method render (line 1078) | render() {
method render (line 1116) | render() {
method shouldComponentUpdate (line 1144) | shouldComponentUpdate() {
method render (line 1148) | render() {
method constructor (line 1661) | constructor(props) {
method shouldComponentUpdate (line 1666) | shouldComponentUpdate() {
method render (line 1670) | render() {
method constructor (line 1689) | constructor(props) {
method shouldComponentUpdate (line 1694) | shouldComponentUpdate() {
method render (line 1698) | render() {
method render (line 1753) | render() {
method render (line 1832) | render() {
method render (line 1911) | render() {
method componentWillUnmount (line 1948) | componentWillUnmount() {
method render (line 1952) | render() {
method componentWillUnmount (line 1975) | componentWillUnmount() {
method render (line 1979) | render() {
method render (line 2105) | render() {
method render (line 2138) | render() {
method render (line 2164) | render() {
method render (line 2184) | render() {
method getDerivedStateFromProps (line 2247) | static getDerivedStateFromProps({ n }) {
method render (line 2251) | render() {
method render (line 2329) | render() {
method render (line 2345) | render() {
method constructor (line 2364) | constructor() {
method componentWillMount (line 2370) | componentWillMount() {
method render (line 2378) | render() {
method constructor (line 2589) | constructor(props) {
method shouldComponentUpdate (line 2594) | shouldComponentUpdate() {
method render (line 2598) | render() {
method constructor (line 2621) | constructor(props) {
method shouldComponentUpdate (line 2626) | shouldComponentUpdate() {
method render (line 2630) | render() {
class App (line 1115) | class App extends Component {
method render (line 26) | render() {
method shouldComponentUpdate (line 49) | shouldComponentUpdate() {
method render (line 53) | render() {
method shouldComponentUpdate (line 70) | shouldComponentUpdate() {
method render (line 74) | render() {
method shouldComponentUpdate (line 95) | shouldComponentUpdate() {
method render (line 99) | render() {
method shouldComponentUpdate (line 113) | shouldComponentUpdate() {
method render (line 117) | render() {
method shouldComponentUpdate (line 135) | shouldComponentUpdate() {
method render (line 139) | render() {
method shouldComponentUpdate (line 152) | shouldComponentUpdate() {
method render (line 156) | render() {
method constructor (line 172) | constructor(props) {
method shouldComponentUpdate (line 177) | shouldComponentUpdate() {
method render (line 181) | render() {
method constructor (line 197) | constructor(props) {
method shouldComponentUpdate (line 202) | shouldComponentUpdate() {
method render (line 206) | render() {
method componentWillUnmount (line 233) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 237) | __reactstandin__regenerateByEval(key, code) {
method render (line 241) | render() {
method componentWillUnmount (line 277) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 281) | __reactstandin__regenerateByEval(key, code) {
method componentWillUnmount (line 322) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 326) | __reactstandin__regenerateByEval(key, code) {
method render (line 330) | render() {
method componentWillUnmount (line 369) | componentWillUnmount() {
method __reactstandin__regenerateByEval (line 373) | __reactstandin__regenerateByEval(key, code) {
method render (line 377) | render() {
method constructor (line 409) | constructor(props) {
method shouldComponentUpdate (line 414) | shouldComponentUpdate() {
method handleClick (line 418) | handleClick() {
method render (line 422) | render() {
method constructor (line 441) | constructor(props) {
method shouldComponentUpdate (line 446) | shouldComponentUpdate() {
method handleClick (line 450) | handleClick() {
method render (line 454) | render() {
method constructor (line 472) | constructor(props) {
method shouldComponentUpdate (line 477) | shouldComponentUpdate() {
method render (line 485) | render() {
method constructor (line 506) | constructor(props) {
method shouldComponentUpdate (line 511) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 520) | __reactstandin__regenerateByEval(key, code) {
method render (line 526) | render() {
method constructor (line 544) | constructor(props) {
method shouldComponentUpdate (line 554) | shouldComponentUpdate() {
method render (line 558) | render() {
method constructor (line 579) | constructor(props) {
method shouldComponentUpdate (line 584) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 593) | __reactstandin__regenerateByEval(key, code) {
method render (line 599) | render() {
method constructor (line 617) | constructor(props) {
method shouldComponentUpdate (line 622) | shouldComponentUpdate() {
method render (line 628) | render() {
method constructor (line 650) | constructor(props) {
method shouldComponentUpdate (line 655) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 662) | __reactstandin__regenerateByEval(key, code) {
method render (line 668) | render() {
method render (line 708) | render() {
method render (line 882) | render() {
method constructor (line 938) | constructor(props) {
method shouldComponentUpdate (line 943) | shouldComponentUpdate() {
method render (line 949) | render() {
method constructor (line 969) | constructor(props) {
method shouldComponentUpdate (line 974) | shouldComponentUpdate() {
method __reactstandin__regenerateByEval (line 9
Condensed preview — 323 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (679K chars).
[
{
"path": ".babelrc",
"chars": 263,
"preview": "{\n \"presets\": [\n [\n \"env\",\n {\n \"modules\": false,\n \"loose\": true\n }\n ],\n \"react\"\n "
},
{
"path": ".eslintignore",
"chars": 124,
"preview": "node_modules/\n__babel_fixtures__/\ndist/\ncoverage/\nexamples/\nbabel.js\nindex.js\npatch.js\nwebpack.js\nroot.js\ntest/hot/react"
},
{
"path": ".eslintrc.js",
"chars": 1013,
"preview": "module.exports = {\n extends: ['airbnb', 'prettier', 'prettier/react'],\n parser: 'babel-eslint',\n rules: {\n 'no-und"
},
{
"path": ".gitattributes",
"chars": 17,
"preview": "*.js text eol=lf\n"
},
{
"path": ".gitignore",
"chars": 40,
"preview": "node_modules/\ndist/\ncoverage/\n.DS_Store\n"
},
{
"path": ".prettierignore",
"chars": 150,
"preview": "__babel_fixtures__/\n__snapshots__/\nnode_modules/\ndist/\npackage.json\nCHANGELOG.md\n.cache\nbabel.js\nindex.js\npatch.js\nroot."
},
{
"path": ".prettierrc",
"chars": 88,
"preview": "{\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n \"semi\": true,\n \"printWidth\": 120\n}"
},
{
"path": ".travis.yml",
"chars": 304,
"preview": "language: node_js\n\nnode_js:\n - 8\n - 10\n\nbefore_install:\n - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --"
},
{
"path": ".vscode/extensions.json",
"chars": 101,
"preview": "{\n \"recommendations\": [\"orta.vscode-jest\", \"editorconfig.editorconfig\", \"dbaeumer.vscode-eslint\"]\n}\n"
},
{
"path": ".vscode/settings.json",
"chars": 36,
"preview": "{\n \"debug.node.autoAttach\": \"on\"\n}\n"
},
{
"path": "CHANGELOG.md",
"chars": 53012,
"preview": "# Changelog\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github."
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 1423,
"preview": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project, we pledge to respect all people who cont"
},
{
"path": "CONTRIBUTING.md",
"chars": 2111,
"preview": "# Contributing to `react-hot-loader`\n\nAs the creators and maintainers of this project, we want to ensure that\n`react-hot"
},
{
"path": "ISSUE_TEMPLATE.md",
"chars": 876,
"preview": "If you are reporting a bug or having an issue setting up React Hot Loader, please fill in below. For feature requests, f"
},
{
"path": "LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2016 Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "PATRONS.md",
"chars": 958,
"preview": "# Patrons\n\nThe work on React Hot Loader, [React Transform](https://github.com/gaearon/babel-plugin-react-transform), [Re"
},
{
"path": "README.md",
"chars": 35520,
"preview": "# React Hot Loader\n\n[![Build Status][build-badge]][build] [![version][version-badge]][package]\n[![Code Coverage][coverag"
},
{
"path": "babel.js",
"chars": 192,
"preview": "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/babel.production.min.js')"
},
{
"path": "docs/Troubleshooting.md",
"chars": 14978,
"preview": "This file serves as a repository of common problems setting up React Hot Loader, and solutions to them.\nKnow a problem? "
},
{
"path": "examples/SSR/.babelrc",
"chars": 156,
"preview": "{\n \"presets\": [\n \"env\",\n \"react\"\n ],\n \"plugins\": [\n \"react-hot-loader/babel\",\n \"transform-class-propertie"
},
{
"path": "examples/SSR/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/SSR/package.json",
"chars": 721,
"preview": "{\n \"name\": \"react-hot-loader-ssr\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"build\": \"webpack\",\n "
},
{
"path": "examples/SSR/src/App.js",
"chars": 380,
"preview": "import { hot, setConfig } from 'react-hot-loader';\nimport * as React from 'react';\nimport Counter from './Counter';\n// i"
},
{
"path": "examples/SSR/src/Counter.js",
"chars": 467,
"preview": "import React from 'react';\n\nconst RAND = 1; //Math.round(Math.random() * 1000)\n\nclass Counter extends React.Component {\n"
},
{
"path": "examples/SSR/src/HiddenComponent.js",
"chars": 229,
"preview": "import React from 'react';\nimport Counter from './Counter';\n\nconst hidden = function() {\n return {\n counter: () => ("
},
{
"path": "examples/SSR/src/index.js",
"chars": 265,
"preview": "import 'babel-polyfill';\nimport React from 'react';\nimport { hydrate } from 'react-dom';\nimport App from './App';\n\n//con"
},
{
"path": "examples/SSR/src/server.js",
"chars": 460,
"preview": "import express from 'express';\nimport React from 'react';\nimport { renderToString } from 'react-dom/server';\nimport App "
},
{
"path": "examples/SSR/src/template.js",
"chars": 244,
"preview": "export default ({ body }) => {\n return `\n <!DOCTYPE html>\n <html>\n <head>\n </head>\n \n <body>\n"
},
{
"path": "examples/SSR/webpack.config.babel.js",
"chars": 600,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/all-possible-containers/.babelrc",
"chars": 806,
"preview": "{\n \"presets\": [\n \"@babel/preset-flow\",\n \"@babel/preset-react\",\n [\n \"@babel/preset-env\",\n {\n \""
},
{
"path": "examples/all-possible-containers/.editorconfig",
"chars": 94,
"preview": "[*]\ncharset=utf-8\nend_of_line=crlf\ninsert_final_newline=false\nindent_style=space\nindent_size=2"
},
{
"path": "examples/all-possible-containers/.flowconfig",
"chars": 39,
"preview": "[include]\nsrc/\n[ignore]\n.*/__tests__/.*"
},
{
"path": "examples/all-possible-containers/.gitignore",
"chars": 23,
"preview": ".idea\ndist\nnode_modules"
},
{
"path": "examples/all-possible-containers/LICENSE",
"chars": 1067,
"preview": "MIT License\n\nCopyright (c) 2017 Eli Sherer\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
},
{
"path": "examples/all-possible-containers/README.md",
"chars": 81,
"preview": "# react-hot-loader-repro918\n\nReproduce an issue for gaearon/react-hot-loader#918\n"
},
{
"path": "examples/all-possible-containers/package.json",
"chars": 1684,
"preview": "{\n \"name\": \"react-hot-loader-repro918\",\n \"version\": \"1.0.0\",\n \"license\": \"UNLICENSED\",\n \"description\": \"Reproduce an"
},
{
"path": "examples/all-possible-containers/src/components/App.js",
"chars": 2599,
"preview": "// @flow\nimport { hot } from 'react-hot-loader/root';\nimport React from 'react';\n\nimport Context from '../context';\nimpo"
},
{
"path": "examples/all-possible-containers/src/components/ChildrenAsFunctionComponent.js",
"chars": 253,
"preview": "import React from 'react';\nimport { EDIT_ME } from './_editMe';\n\nclass ChildrenAsFunctionComponent extends React.Compone"
},
{
"path": "examples/all-possible-containers/src/components/ChildrenAsFunctionExample.js",
"chars": 441,
"preview": "import React from 'react';\nimport ChildrenAsFunctionComponent from './ChildrenAsFunctionComponent';\nimport { EDIT_ME } f"
},
{
"path": "examples/all-possible-containers/src/components/ClassComponent.js",
"chars": 310,
"preview": "import React from 'react';\nimport { EDIT_ME } from './_editMe';\n\nclass ClassComponent extends React.Component {\n render"
},
{
"path": "examples/all-possible-containers/src/components/ConnectedChildrenAFComponent.js",
"chars": 562,
"preview": "import React from 'react';\nimport ChildrenAsFunctionComponent from './ChildrenAsFunctionComponent';\nimport { connect } f"
},
{
"path": "examples/all-possible-containers/src/components/ConsumerClassComponent.js",
"chars": 491,
"preview": "import React from 'react';\nimport Context from '../context';\nimport { EDIT_ME } from './_editMe';\n\nclass ConsumerClassCo"
},
{
"path": "examples/all-possible-containers/src/components/ConsumerConnectedComponent.js",
"chars": 429,
"preview": "import React from 'react';\nimport { connect } from '../context';\nimport { EDIT_ME } from './_editMe';\n\nclass ConsumerCon"
},
{
"path": "examples/all-possible-containers/src/components/ConsumerFunctionComponent.js",
"chars": 408,
"preview": "import React from 'react';\nimport Context from '../context';\nimport { EDIT_ME } from './_editMe';\n\nconst ConsumerFunctio"
},
{
"path": "examples/all-possible-containers/src/components/ConsumerPureClassComponent.js",
"chars": 504,
"preview": "import React from 'react';\nimport Context from '../context';\nimport { EDIT_ME } from './_editMe';\n\nclass ConsumerPureCla"
},
{
"path": "examples/all-possible-containers/src/components/Counter.js",
"chars": 381,
"preview": "import React from 'react';\n\nclass Counter extends React.Component {\n state = { count: 0 };\n\n componentDidMount() {\n "
},
{
"path": "examples/all-possible-containers/src/components/ErrorBoundary.js",
"chars": 721,
"preview": "// @flow\nimport React from 'react';\n\nconst ErrorBoundary = ({ error, errorInfo }: { error: any, errorInfo: Object }) => "
},
{
"path": "examples/all-possible-containers/src/components/FunctionComponent.js",
"chars": 243,
"preview": "import React from 'react';\nimport { EDIT_ME } from './_editMe';\n\nconst FunctionComponent = () => (\n <div>\n <fieldset"
},
{
"path": "examples/all-possible-containers/src/components/FunctionConsumerPureClassComponent.js",
"chars": 873,
"preview": "import React from 'react';\nimport Context from '../context';\nimport { EDIT_ME } from './_editMe';\n\n/**\n * The bug is rep"
},
{
"path": "examples/all-possible-containers/src/components/Hook.js",
"chars": 565,
"preview": "import React, { useState, useEffect } from 'react';\nimport { hot } from 'react-hot-loader/root';\n\nconst SomeComponent = "
},
{
"path": "examples/all-possible-containers/src/components/LazyComponent.js",
"chars": 282,
"preview": "import React from 'react';\nimport { EDIT_ME } from './_editMe';\nimport Counter from './Counter';\n\nconst LazyComponent = "
},
{
"path": "examples/all-possible-containers/src/components/Modal.js",
"chars": 2634,
"preview": "import React from 'react';\nimport ReactDOM from 'react-dom';\n\nconst modalRootId = 'modal-root';\nlet modalRoot = document"
},
{
"path": "examples/all-possible-containers/src/components/ModalComponent.js",
"chars": 308,
"preview": "// @flow\nimport React from 'react';\nimport Modal from './Modal';\nimport { EDIT_ME } from './_editMe';\n\nconst ModalCompon"
},
{
"path": "examples/all-possible-containers/src/components/PureClassComponent.js",
"chars": 319,
"preview": "import React from 'react';\nimport { EDIT_ME } from './_editMe';\n\nclass ClassComponent extends React.PureComponent {\n re"
},
{
"path": "examples/all-possible-containers/src/components/SomethingWithHooks.js",
"chars": 0,
"preview": ""
},
{
"path": "examples/all-possible-containers/src/components/_editMe.js",
"chars": 34,
"preview": "export const EDIT_ME = 'Edit me';\n"
},
{
"path": "examples/all-possible-containers/src/context.js",
"chars": 445,
"preview": "import React from 'react';\n\nconst Context = React.createContext('dummy-value');\n\nexport const connect = WrappedComponent"
},
{
"path": "examples/all-possible-containers/src/index.js",
"chars": 395,
"preview": "import React, { StrictMode } from 'react';\nimport { render } from 'react-dom';\nimport App from './components/App';\nimpor"
},
{
"path": "examples/all-possible-containers/src/wcl.js",
"chars": 963,
"preview": "'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\nconst { SourceNode, SourceMapConsumer } = require"
},
{
"path": "examples/all-possible-containers/webpack.config.js",
"chars": 2116,
"preview": "const path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require('html-webpack-plugin"
},
{
"path": "examples/async-components/.babelrc",
"chars": 128,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\", \"dynamic-import-n"
},
{
"path": "examples/async-components/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/async-components/package.json",
"chars": 966,
"preview": "{\n \"name\": \"hot-react-loadable\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-ser"
},
{
"path": "examples/async-components/src/App.js",
"chars": 1248,
"preview": "import { hot, setConfig } from 'react-hot-loader';\nimport * as React from 'react';\nimport styled from 'styled-components"
},
{
"path": "examples/async-components/src/Counter.js",
"chars": 482,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\n\nclass Counter extends React.Component {\n state = { "
},
{
"path": "examples/async-components/src/Counter2.js",
"chars": 436,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\n\nclass Counter extends React.Component {\n state = { "
},
{
"path": "examples/async-components/src/chunks/async-component.js",
"chars": 132,
"preview": "import { asyncComponent } from 'react-async-component';\n\nexport default asyncComponent({\n resolve: () => import('../Cou"
},
{
"path": "examples/async-components/src/chunks/loadable-components.js",
"chars": 238,
"preview": "// import loadable from 'loadable-components' // this is old API\nimport loadable from '@loadable/component';\n\nexport con"
},
{
"path": "examples/async-components/src/chunks/react-imported-component.js",
"chars": 125,
"preview": "import imported from 'react-imported-component';\n\nconst test = 115582;\n\nexport default imported(() => import('../Counter"
},
{
"path": "examples/async-components/src/chunks/react-loadable.js",
"chars": 279,
"preview": "import React from 'react';\nimport Loadable from 'react-loadable';\n\nexport const RLoadable1 = Loadable({\n loader: () => "
},
{
"path": "examples/async-components/src/chunks/react-universal-component.js",
"chars": 106,
"preview": "import universal from 'react-universal-component';\n\nexport default universal(() => import('../Counter'));\n"
},
{
"path": "examples/async-components/src/index.js",
"chars": 215,
"preview": "import 'babel-polyfill';\nimport React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst "
},
{
"path": "examples/async-components/webpack.config.babel.js",
"chars": 996,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/async-portals/.babelrc",
"chars": 156,
"preview": "{\n \"presets\": [\n \"env\",\n \"react\"\n ],\n \"plugins\": [\n \"react-hot-loader/babel\",\n \"transform-class-propertie"
},
{
"path": "examples/async-portals/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/async-portals/package.json",
"chars": 589,
"preview": "{\n \"name\": \"hot-async-portals\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-serv"
},
{
"path": "examples/async-portals/src/App.js",
"chars": 477,
"preview": "import { hot, setConfig } from 'react-hot-loader';\nimport * as React from 'react';\nimport Counter from './Counter';\nimpo"
},
{
"path": "examples/async-portals/src/Counter.js",
"chars": 463,
"preview": "import React from 'react';\n\nconst RAND = Math.round(Math.random() * 1000);\n\nclass Counter extends React.Component {\n st"
},
{
"path": "examples/async-portals/src/DeferredRender.js",
"chars": 330,
"preview": "import React from 'react';\nimport { Portal } from 'react-portal';\nimport hidden from './HiddenComponent';\n\nconst Hidden "
},
{
"path": "examples/async-portals/src/HiddenComponent.js",
"chars": 229,
"preview": "import React from 'react';\nimport Counter from './Counter';\n\nconst hidden = function() {\n return {\n counter: () => ("
},
{
"path": "examples/async-portals/src/Portal.js",
"chars": 329,
"preview": "import React from 'react';\nimport { Portal } from 'react-portal';\nimport hidden from './HiddenComponent';\n\nconst Hidden "
},
{
"path": "examples/async-portals/src/async-component.js",
"chars": 659,
"preview": "import React, { Component } from 'react';\n\nclass AsyncComponent extends Component {\n constructor(props) {\n super(pro"
},
{
"path": "examples/async-portals/src/index.js",
"chars": 215,
"preview": "import 'babel-polyfill';\nimport React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst "
},
{
"path": "examples/async-portals/webpack.config.babel.js",
"chars": 777,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/decorators/.babelrc",
"chars": 136,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\", \"transform-decora"
},
{
"path": "examples/decorators/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/decorators/package.json",
"chars": 650,
"preview": "{\n \"name\": \"hot-decorators\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server "
},
{
"path": "examples/decorators/src/App.js",
"chars": 213,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport Counter from './Counter';\n\nconst App = () => ("
},
{
"path": "examples/decorators/src/Counter.js",
"chars": 455,
"preview": "import React from 'react';\nimport autobind from 'autobind-decorator';\n\n@autobind\nclass Counter extends React.Component {"
},
{
"path": "examples/decorators/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/decorators/webpack.config.babel.js",
"chars": 498,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/electron-typescript/.gitignore",
"chars": 29,
"preview": ".DS_Store\n\nnode_modules\ndist\n"
},
{
"path": "examples/electron-typescript/README.md",
"chars": 338,
"preview": "# Electron typescript\n\n## Run application\n\nFirst you should start to watch application folder via webpack to enable hot-"
},
{
"path": "examples/electron-typescript/app/App.tsx",
"chars": 215,
"preview": "import { hot } from 'react-hot-loader/root'\nimport * as React from 'react'\nimport Counter from './Counter'\n\nconst App = "
},
{
"path": "examples/electron-typescript/app/Counter.tsx",
"chars": 652,
"preview": "import * as React from 'react'\n\nclass Counter extends React.Component<{}, { count: number }> {\n interval: number\n\n con"
},
{
"path": "examples/electron-typescript/app/development.html",
"chars": 287,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Electron typescript example</title>\n </head>\n <body>\n <main id=\"app\" cla"
},
{
"path": "examples/electron-typescript/app/index.tsx",
"chars": 200,
"preview": "import 'core-js/stable'\nimport 'regenerator-runtime/runtime'\nimport * as React from 'react'\nimport { render } from 'reac"
},
{
"path": "examples/electron-typescript/app/production.html",
"chars": 216,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Electron typescript example</title>\n </head>\n <body>\n <main id=\"app\" cla"
},
{
"path": "examples/electron-typescript/main.js",
"chars": 701,
"preview": "const { app, BrowserWindow } = require('electron');\nconst path = require('path');\n\nlet mainWindow;\n\nconst createWindow ="
},
{
"path": "examples/electron-typescript/package.json",
"chars": 1166,
"preview": "{\n \"name\": \"electron-typescript\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"watch\": \"rm -rf ./dist "
},
{
"path": "examples/electron-typescript/tsconfig.json",
"chars": 201,
"preview": "{\n \"compilerOptions\": {\n \"outDir\": \"./dist/\",\n \"sourceMap\": true,\n \"noImplicitAny\": true,\n \"module\": \"commo"
},
{
"path": "examples/electron-typescript/webpack.config.js",
"chars": 1754,
"preview": "const path = require('path');\nconst webpack = require('webpack');\nconst merge = require('webpack-merge');\nconst ForkTsCh"
},
{
"path": "examples/hotCold/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/hotCold/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/hotCold/package.json",
"chars": 676,
"preview": "{\n \"name\": \"hot-cold\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server --hot\""
},
{
"path": "examples/hotCold/src/App.js",
"chars": 1269,
"preview": "import { hot, setConfig } from 'react-hot-loader';\nimport * as React from 'react';\nimport styled from 'styled-components"
},
{
"path": "examples/hotCold/src/Counter.js",
"chars": 454,
"preview": "import React from 'react';\nimport { cold } from 'react-hot-loader';\n\nclass Counter extends React.Component {\n state = {"
},
{
"path": "examples/hotCold/src/index.js",
"chars": 248,
"preview": "import 'babel-polyfill';\nimport React from 'react';\nimport { render } from 'react-dom';\nimport './reactHotLoader.setup';"
},
{
"path": "examples/hotCold/src/reactHotLoader.setup.js",
"chars": 242,
"preview": "import { setConfig, cold } from 'react-hot-loader';\n\nsetConfig({\n onComponentRegister: (type, name, file) => file.index"
},
{
"path": "examples/hotCold/webpack.config.babel.js",
"chars": 1500,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/indeterminateComponent/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/indeterminateComponent/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/indeterminateComponent/package.json",
"chars": 570,
"preview": "{\n \"name\": \"hot-indeternimate-component\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpac"
},
{
"path": "examples/indeterminateComponent/src/App.js",
"chars": 896,
"preview": "import { hot, setConfig } from 'react-hot-loader';\nimport * as React from 'react';\nimport Counter from './Counter';\n\ncla"
},
{
"path": "examples/indeterminateComponent/src/Counter.js",
"chars": 478,
"preview": "import React from 'react';\n\nclass Counter extends React.Component {\n state = { count: 0 };\n\n componentDidMount() {\n "
},
{
"path": "examples/indeterminateComponent/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/indeterminateComponent/webpack.config.babel.js",
"chars": 743,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/mobx/.babelrc",
"chars": 136,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\", \"transform-decora"
},
{
"path": "examples/mobx/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/mobx/package.json",
"chars": 695,
"preview": "{\n \"name\": \"hot-mobx\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server --hot\""
},
{
"path": "examples/mobx/src/App.js",
"chars": 458,
"preview": "import React from 'react';\nimport { hot, setConfig } from 'react-hot-loader';\nimport Counter from './Counter';\n\nconst El"
},
{
"path": "examples/mobx/src/Counter.js",
"chars": 1228,
"preview": "import React, { Component } from 'react';\nimport { hot } from 'react-hot-loader';\nimport { observer } from 'mobx-react';"
},
{
"path": "examples/mobx/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/mobx/webpack.config.babel.js",
"chars": 743,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/multiple-hocs/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/multiple-hocs/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/multiple-hocs/package.json",
"chars": 588,
"preview": "{\n \"name\": \"hot-multiple-hocs\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-serv"
},
{
"path": "examples/multiple-hocs/src/App.js",
"chars": 213,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport Counter from './Counter';\n\nconst App = () => ("
},
{
"path": "examples/multiple-hocs/src/Counter.js",
"chars": 481,
"preview": "import React from 'react';\nimport * as r from 'recompose';\n\nconst Counter = r.compose(\n r.pure,\n r.withProps({ style: "
},
{
"path": "examples/multiple-hocs/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/multiple-hocs/webpack.config.babel.js",
"chars": 498,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/parcel/.babelrc",
"chars": 96,
"preview": "{\n \"presets\": [\"env\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/parcel/.gitignore",
"chars": 25,
"preview": "node_modules\n.cache\ndist\n"
},
{
"path": "examples/parcel/index.html",
"chars": 334,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width"
},
{
"path": "examples/parcel/package.json",
"chars": 726,
"preview": "{\n \"name\": \"hot-parcel\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"parcel index.html --no-"
},
{
"path": "examples/parcel/src/App.js",
"chars": 292,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport Counter from './Counter';\nimport { Problem } f"
},
{
"path": "examples/parcel/src/Counter.js",
"chars": 435,
"preview": "import React from 'react';\n\nclass Counter extends React.Component {\n state = { count: 0 };\n\n componentDidMount() {\n "
},
{
"path": "examples/parcel/src/Problem.js",
"chars": 161,
"preview": "import React from 'react';\nimport { useExternalHook } from './Counter';\n\nexport function Problem() {\n useExternalHook()"
},
{
"path": "examples/parcel/src/index.js",
"chars": 175,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nfunction renderApp() {\n render"
},
{
"path": "examples/preact/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/preact/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/preact/package.json",
"chars": 653,
"preview": "{\n \"name\": \"hot-preact-simple\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-serv"
},
{
"path": "examples/preact/src/App.js",
"chars": 279,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport Counter from './Counter';\nimport { Internal } "
},
{
"path": "examples/preact/src/Counter.js",
"chars": 466,
"preview": "import { h, render, Component } from 'preact';\n\n// Tell Babel to transform JSX into h() calls:\n/** @jsx h */\n\nclass Coun"
},
{
"path": "examples/preact/src/Internal.js",
"chars": 200,
"preview": "import preact from 'preact';\nimport Counter from './Counter';\n\n// Tell Babel to transform JSX into h() calls:\n/** @jsx p"
},
{
"path": "examples/preact/src/hotLoaderSetup.js",
"chars": 123,
"preview": "import reactHotLoader, { setConfig } from 'react-hot-loader';\nimport preact from 'preact';\n\nreactHotLoader.preact(preact"
},
{
"path": "examples/preact/src/index.js",
"chars": 254,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\n// setup Preact before importing App\nimport './hotLoaderS"
},
{
"path": "examples/preact/webpack.config.babel.js",
"chars": 704,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/react-bootstrap/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/react-bootstrap/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/react-bootstrap/package.json",
"chars": 596,
"preview": "{\n \"name\": \"hot-react-bootstrap\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-se"
},
{
"path": "examples/react-bootstrap/src/App.js",
"chars": 355,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader/root';\nimport FormControl from 'react-bootstrap/lib/For"
},
{
"path": "examples/react-bootstrap/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/react-bootstrap/webpack.config.babel.js",
"chars": 498,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/react-refetch/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/react-refetch/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/react-refetch/package.json",
"chars": 591,
"preview": "{\n \"name\": \"hot-react-refetch\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-serv"
},
{
"path": "examples/react-refetch/src/App.js",
"chars": 219,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader/root';\nimport Characters from './Characters';\n\nconst Ap"
},
{
"path": "examples/react-refetch/src/Characters.js",
"chars": 358,
"preview": "import React from 'react';\nimport { connect } from 'react-refetch';\n\nconst Characters = ({ charactersFetch }) =>\n chara"
},
{
"path": "examples/react-refetch/src/index.js",
"chars": 190,
"preview": "import React from 'react';\nimport { render } from 'react-dom';\nimport App from './App';\n\nconst root = document.createEle"
},
{
"path": "examples/react-refetch/webpack.config.babel.js",
"chars": 498,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/redux/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/redux/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/redux/index_csp.html",
"chars": 194,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>Webpack App</title>\n <meta http-equiv=\"Content-Se"
},
{
"path": "examples/redux/package.json",
"chars": 635,
"preview": "{\n \"name\": \"hot-redux\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server --hot"
},
{
"path": "examples/redux/src/App.js",
"chars": 593,
"preview": "import React, { useState, useEffect } from 'react';\nimport { hot } from 'react-hot-loader/root';\n\nimport { MyComponent }"
},
{
"path": "examples/redux/src/HookComponent.js",
"chars": 145,
"preview": "import { useSelector } from 'react-redux';\n\nexport function HookComponent() {\n const notifications = useSelector(() => "
},
{
"path": "examples/redux/src/MyComponent.js",
"chars": 289,
"preview": "import React from 'react';\nimport { connect } from 'react-redux';\n\nexport class MyComponent1 extends React.Component {\n "
},
{
"path": "examples/redux/src/index.js",
"chars": 375,
"preview": "import React from 'react';\nimport {Provider} from 'react-redux';\nimport {createStore, combineReducers} from 'redux';\n\nim"
},
{
"path": "examples/redux/webpack.config.babel.js",
"chars": 1171,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/styled-components/.babelrc",
"chars": 128,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\", \"dynamic-import-n"
},
{
"path": "examples/styled-components/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/styled-components/index_csp.html",
"chars": 194,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>Webpack App</title>\n <meta http-equiv=\"Content-Se"
},
{
"path": "examples/styled-components/package.json",
"chars": 1118,
"preview": "{\n \"name\": \"hot-styled-components\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"NODE_ENV=dev"
},
{
"path": "examples/styled-components/src/App.js",
"chars": 3026,
"preview": "import { hot } from 'react-hot-loader/root';\nimport { setConfig } from 'react-hot-loader';\nimport * as React from 'react"
},
{
"path": "examples/styled-components/src/Async.js",
"chars": 125,
"preview": "import React from 'react';\nimport Counter from './Counter';\n\nexport default () => (\n <div>\n async<Counter />\n </div"
},
{
"path": "examples/styled-components/src/Counter.js",
"chars": 1452,
"preview": "import React, { useContext, useState, useEffect, useRef } from 'react';\n\nconst TimerContext = React.createContext(0);\n\nc"
},
{
"path": "examples/styled-components/src/Spring.js",
"chars": 1019,
"preview": "// import { animated, useSpring } from 'react-spring';\nimport React, { useCallback, useState } from 'react';\nimport Coun"
},
{
"path": "examples/styled-components/src/config.js",
"chars": 183,
"preview": "import { setConfig } from 'react-hot-loader';\nimport ReactDOM from 'react-dom';\n\nsetConfig({\n ignoreSFC: !!ReactDOM.set"
},
{
"path": "examples/styled-components/src/index.js",
"chars": 323,
"preview": "import 'react-lifecycles-compat';\nimport 'core-js/modules/es6.promise';\n// import 'babel-polyfill';\nimport React from 'r"
},
{
"path": "examples/styled-components/webpack.config.babel.js",
"chars": 1558,
"preview": "/* eslint-disable */\nconst path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require"
},
{
"path": "examples/typescript/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/typescript/package.json",
"chars": 927,
"preview": "{\n \"name\": \"hot-typescript\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server "
},
{
"path": "examples/typescript/src/App.tsx",
"chars": 215,
"preview": "import { hot } from 'react-hot-loader/root'\nimport * as React from 'react'\nimport Counter from './Counter'\n\nconst App = "
},
{
"path": "examples/typescript/src/Counter.tsx",
"chars": 652,
"preview": "import * as React from 'react'\n\nclass Counter extends React.Component<{}, { count: number }> {\n interval: number\n\n con"
},
{
"path": "examples/typescript/src/index.tsx",
"chars": 250,
"preview": "import 'core-js/stable'\nimport 'regenerator-runtime/runtime'\nimport * as React from 'react'\nimport { render } from 'reac"
},
{
"path": "examples/typescript/tsconfig.json",
"chars": 201,
"preview": "{\n \"compilerOptions\": {\n \"outDir\": \"./dist/\",\n \"sourceMap\": true,\n \"noImplicitAny\": true,\n \"module\": \"commo"
},
{
"path": "examples/typescript/webpack.config.babel.js",
"chars": 1553,
"preview": "const path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require('html-webpack-plugin"
},
{
"path": "examples/typescript-no-babel/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/typescript-no-babel/README.md",
"chars": 165,
"preview": "# Attention!!!\n- Hook reloading is relaying on babel plugin! This example don't support hooks reload. If you want to hav"
},
{
"path": "examples/typescript-no-babel/package.json",
"chars": 542,
"preview": "{\n \"name\": \"hot-typescript-pure\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-se"
},
{
"path": "examples/typescript-no-babel/src/App.tsx",
"chars": 262,
"preview": "import { hot } from 'react-hot-loader/root'\nimport * as React from 'react'\nimport Counter from './Counter'\n\nconst App = "
},
{
"path": "examples/typescript-no-babel/src/Counter.tsx",
"chars": 728,
"preview": "import * as React from 'react'\n\nclass Counter extends React.Component<{}, { count: number }> {\n interval: number\n\n con"
},
{
"path": "examples/typescript-no-babel/src/index.tsx",
"chars": 190,
"preview": "import * as React from 'react'\nimport { render } from 'react-dom'\nimport App from './App'\n\nconst root = document.createE"
},
{
"path": "examples/typescript-no-babel/tsconfig.json",
"chars": 201,
"preview": "{\n \"compilerOptions\": {\n \"outDir\": \"./dist/\",\n \"sourceMap\": true,\n \"noImplicitAny\": true,\n \"module\": \"commo"
},
{
"path": "examples/typescript-no-babel/webpack.config.js",
"chars": 645,
"preview": "const path = require('path');\nconst webpack = require('webpack');\nconst HtmlWebpackPlugin = require('html-webpack-plugin"
},
{
"path": "examples/webpack/.babelrc",
"chars": 105,
"preview": "{\n \"presets\": [\"env\", \"react\"],\n \"plugins\": [\"react-hot-loader/babel\", \"transform-class-properties\"]\n}\n"
},
{
"path": "examples/webpack/.gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "examples/webpack/package.json",
"chars": 554,
"preview": "{\n \"name\": \"hot-webpack\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"start\": \"webpack-dev-server --h"
},
{
"path": "examples/webpack/src/App.js",
"chars": 213,
"preview": "import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport Counter from './Counter';\n\nconst App = () => ("
}
]
// ... and 123 more files (download for full content)
About this extraction
This page contains the full source code of the gaearon/react-hot-loader GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 323 files (617.5 KB), approximately 165.3k tokens, and a symbol index with 708 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.