My Docs
BlogGithubLinkedin
Redux
Redux
  • CONTRIBUTING
  • README
  • notes
    • notes1
    • scrap
    • background
      • Non-Visual Behavior (Custom Hooks)
      • React-LifeCycle
      • ReducerPattern
      • Title
      • How To Avoid Prop Drilling in React Using Component Composition
      • right
    • context
      • Context – React
      • context
      • right
    • Learn Redux
    • experiments
      • Blog Demo
  • .github
    • ISSUE_TEMPLATE
      • bug_report
    • ISSUE_TEMPLATE
      • custom
    • ISSUE_TEMPLATE
      • feature_request
  • DOCS
    • md-docs
      • Provider
  • DOCS
    • md-docs
      • Accessing the Store
  • DOCS
    • md-docs
      • actions
  • DOCS
    • md-docs
      • api-reference
  • DOCS
    • md-docs
      • applymiddleware
  • DOCS
    • md-docs
      • basic-reducer-structure
  • DOCS
    • md-docs
      • batch()
  • DOCS
    • md-docs
      • beyond-combinereducers
  • DOCS
    • md-docs
      • bindactioncreators
  • DOCS
    • md-docs
      • code-splitting
  • DOCS
    • md-docs
      • code-structure
  • DOCS
    • md-docs
      • combinereducers
  • DOCS
    • md-docs
      • compose
  • DOCS
    • md-docs
      • computing-derived-data
  • DOCS
    • md-docs
      • configuring-your-store
  • DOCS
    • md-docs
      • connectAdvanced()
  • DOCS
    • md-docs
      • Connect: Dispatching Actions with mapDispatchToProps
  • DOCS
    • md-docs
      • Connect: Extracting Data with mapStateToProps
  • DOCS
    • md-docs
      • Tutorial: Using the connect API
  • DOCS
    • md-docs
      • core-concepts
  • DOCS
    • md-docs
      • createstore
  • DOCS
    • md-docs
      • design-decisions
  • DOCS
    • md-docs
      • ecosystem
  • DOCS
    • md-docs
      • examples
  • DOCS
    • md-docs
      • faq
  • DOCS
    • md-docs
      • general
  • DOCS
    • md-docs
      • getting-started
  • DOCS
    • md-docs
      • glossary
  • DOCS
    • md-docs
      • Hooks
  • DOCS
    • md-docs
      • immutable-data
  • DOCS
    • md-docs
      • immutable-update-patterns
  • DOCS
    • md-docs
      • implementing-undo-history
  • DOCS
    • md-docs
      • index
  • DOCS
    • md-docs
      • initializing-state
  • DOCS
    • md-docs
      • installation
  • DOCS
    • md-docs
      • isolating-redux-sub-apps
  • DOCS
    • md-docs
      • learning-resources
  • DOCS
    • md-docs
      • left
  • DOCS
    • md-docs
      • middleware
  • DOCS
    • md-docs
      • migrating-to-redux
  • DOCS
    • md-docs
      • miscellaneous
  • DOCS
    • md-docs
      • motivation
  • DOCS
    • md-docs
      • normalizing-state-shape
  • DOCS
    • md-docs
      • organizing-state
  • DOCS
    • md-docs
      • overview
  • DOCS
    • md-docs
      • part-1-overview-concepts
  • DOCS
    • md-docs
      • part-1-overview
  • DOCS
    • md-docs
      • part-2-app-structure
  • DOCS
    • md-docs
      • part-2-concepts-data-flow
  • DOCS
    • md-docs
      • part-3-data-flow
  • DOCS
    • md-docs
      • part-3-state-actions-reducers
  • DOCS
    • md-docs
      • part-4-store
  • DOCS
    • md-docs
      • part-4-using-data
  • DOCS
    • md-docs
      • part-5-async-logic
  • DOCS
    • md-docs
      • part-5-ui-react
  • DOCS
    • md-docs
      • part-6-async-logic
  • DOCS
    • md-docs
      • part-6-performance-normalization
  • DOCS
    • md-docs
      • part-7-standard-patterns
  • DOCS
    • md-docs
      • part-8-modern-redux
  • DOCS
    • md-docs
      • performance
  • DOCS
    • md-docs
      • prerequisite-concepts
  • DOCS
    • md-docs
      • prior-art
  • DOCS
    • md-docs
      • React Redux Quick Start
  • DOCS
    • md-docs
      • react-redux
  • DOCS
    • md-docs
      • recipe-index
  • DOCS
    • md-docs
      • reducers
  • DOCS
    • md-docs
      • reducing-boilerplate
  • DOCS
    • md-docs
      • refactoring-reducer-example
  • DOCS
    • md-docs
      • reusing-reducer-logic
  • DOCS
    • md-docs
      • right
  • DOCS
    • md-docs
      • server-rendering
  • DOCS
    • md-docs
      • splitting-reducer-logic
  • DOCS
    • md-docs
      • store-setup
  • DOCS
    • md-docs
      • store
  • DOCS
    • md-docs
      • structuring-reducers
  • DOCS
    • md-docs
      • style-guide
  • DOCS
    • md-docs
      • three-principles
  • DOCS
    • md-docs
      • Troubleshooting
  • DOCS
    • md-docs
      • typescript-quick-start
  • DOCS
    • md-docs
      • React Redux TypeScript Quick Start
  • DOCS
    • md-docs
      • updating-normalized-data
  • DOCS
    • md-docs
      • Usage with TypeScript
  • DOCS
    • md-docs
      • using-combinereducers
  • DOCS
    • md-docs
      • using-object-spread-operator
  • DOCS
    • md-docs
      • Why Use React Redux?
  • DOCS
    • md-docs
      • writing-tests
  • TOOLS
    • redux-concise
  • TOOLS
    • redux-data-structures
      • LICENSE
  • TOOLS
    • Redux Data Structures
  • TOOLS
    • redux
      • Change Log
  • TOOLS
    • redux
      • Contributor Covenant Code of Conduct
  • TOOLS
    • redux
      • Contributing
  • TOOLS
    • redux
      • LICENSE-logo
  • TOOLS
    • redux
      • LICENSE
  • TOOLS
    • redux
      • Patrons
  • TOOLS
    • redux
  • TOOLS
    • redux
      • SUMMARY
  • repos
    • Learn Redux
    • Learning Redux
    • Redux Libraries & Learning Material
    • Redux Examples
      • Redux Async Example
      • Redux Counter Vanilla Example
      • Redux Counter Example
      • real-world
        • react-redux-realworld-example-app.wiki
          • Home
        • realworld-backend
          • Contributing to RealWorld
          • .github
            • PULL_REQUEST_TEMPLATE
            • ISSUE_TEMPLATE
              • bug-report
            • ISSUE_TEMPLATE
              • feature-request
          • RealWorld API Spec
          • spec
            • mobile_icons
              • ios
        • node_modules
          • abab
          • accepts
            • HISTORY
          • acorn-globals
          • Acorn-JSX
          • Acorn AST walker
          • Acorn
          • address
            • History
          • ajv-errors
            • lib
              • dotjs
          • ajv-keywords
            • keywords
              • dotjs
          • ajv
            • lib
              • dotjs
          • alphanum-sort
          • ansi-colors
          • ansi-escapes
          • ansi-html
          • ansi-regex
          • ansi-styles
          • anymatch
          • aproba
          • argparse
          • aria-query
          • arr-diff
          • arr-flatten
          • arr-union
          • Array Equal
          • Array Flatten
          • array-includes
          • array-union
          • array-uniq
          • array-unique
          • arrify
          • ASAP
            • CHANGES
          • ASN1.js
          • asn1
          • assert-plus
            • assert-plus Changelog
          • assert
            • node_modules
              • inherits
              • util
          • assign-symbols
          • ast-types-flow
          • astral-regex
          • async-each
          • Async-Limiter
          • async
          • asynckit
          • atob
          • Autoprefixer
          • aws-sign
          • aws4
          • axobject-query
          • babel-code-frame
            • node_modules
              • ansi-regex
              • ansi-styles
              • chalk
              • strip-ansi
              • supports-color
          • babel-eslint
          • babel-extract-comments
          • babel-jest
          • babel-loader
          • babel-plugin-dynamic-import-node
          • babel-plugin-istanbul
          • babel-plugin-jest-hoist
          • babel-plugin-macros
          • babel-plugin-syntax-object-rest-spread
          • babel-plugin-transform-object-rest-spread
          • babel-plugin-transform-react-remove-prop-types
          • babel-preset-jest
          • babel-preset-react-app
          • babel-runtime
            • node_modules
              • core-js
          • babylon
          • balanced-match
          • base
            • node_modules
              • define-property
          • base16-js
          • base64-js
          • batch
            • History
          • bcrypt-pbkdf
          • big.js
          • binary-extensions
          • bn.js
          • body-parser
            • HISTORY
            • node_modules
              • debug
              • ms
                • license
          • bonjour
          • boolbase
          • brace-expansion
          • braces
            • node_modules
              • extend-shallow
          • Brorand
          • browser-process-hrtime
          • browser-resolve
            • node_modules
              • resolve
          • browserify-aes
          • browserify-cipher
          • browserify-des
          • browserify-rsa
          • browserify-sign
          • browserify-zlib
          • Browserslist
          • BSER Binary Serialization
          • Buffer From
          • buffer-indexof
          • buffer-xor
          • buffer
            • Authors
          • builtin-status-codes
          • Bytes utility
            • History
          • cacache
          • cache-base
          • call-me-maybe
          • caller-callsite
          • caller-path
          • callsites
          • camelcase
          • caniuse-api
          • caniuse-lite
          • capture-exit
          • Case Sensitive Paths - Webpack Plugin
          • caseless
          • chalk
          • chardet
          • Chokidar
          • chownr
          • chrome-trace-event
            • node-trace-event changelog
          • ci-info
          • cipher-base
          • class-utils
            • node_modules
              • define-property
          • clean-css
            • History
            • node_modules
              • Source Map
          • cli-cursor
          • cli-width
          • cliui
          • clone-deep
          • co
            • History
          • Command-Option-Argument
            • Command-Option-Argument
          • collection-visit
          • color-convert
          • color-name
          • color-string
          • color
          • Colorette
          • combined-stream
          • Commander.js
          • common-tags
            • License (MIT)
          • commondir
          • Emitter
            • History
          • compressible
            • HISTORY
          • compression
            • HISTORY
            • node_modules
              • debug
              • ms
                • license
          • concat-map
          • concat-stream
          • confusing-browser-globals
          • connect-history-api-fallback
          • console-browserify
          • constants-browserify
          • contains-path
          • content-disposition
            • HISTORY
          • content-type
            • HISTORY
          • convert-source-map
          • cookie-signature
            • History
          • cookie
            • HISTORY
          • copy-concurrently
          • core-js-compat
          • core-js-pure
            • es
            • features
            • internals
            • modules
            • stable
            • stage
            • web
          • core-util-is
          • cosmiconfig
          • createECDH
          • create-hash
          • create-hmac
          • cross-spawn
            • node_modules
              • semver(1) -- The semantic versioner for npm
          • crypto-browserify
          • CSS Blank Pseudo
          • css-color-names
          • css-declaration-sorter
            • Changelog
            • license
          • CSS Has Pseudo
            • node_modules
              • cssesc
              • postcss-selector-parser
                • API Documentation
          • css-loader
          • Prefers Color Scheme
          • css-select-base-adapter
          • css-select
          • css-tree
          • css-what
          • cssdb
          • cssesc
          • cssnano-util-get-arguments
          • cssnano-util-get-match
          • cssnano-util-raw-cache
          • cssnano-util-same-parent
          • cssnano
          • csso
            • node_modules
              • css-tree
          • CSSOM
          • CSSStyleDeclaration
          • Cyclist
          • damerau-levenshtein
          • dashdash
            • node-dashdash changelog
          • Parse data: URLs
            • node_modules
              • whatwg-url
          • debug
          • decamelize
          • decode-uri-component
          • deep-diff
          • deep-equal
          • deep-is
          • default-gateway
          • define-properties
          • define-property
          • del
            • node_modules
              • globby
                • node_modules
                  • pify
          • delayed-stream
          • depd
            • History
          • DES.js
          • Destroy
          • detect-newline
          • detect-node
          • detect-port-alt
            • HISTORY
            • node_modules
              • debug
              • ms
                • license
          • diffie hellman
          • dir-glob
          • dns-equal
          • dns-packet
          • dns-txt
          • doctrine
          • dom-converter
          • domain-browser
            • History
          • domelementtype
          • DOMException
          • domutils
          • dotenv-expand
          • dotenv
          • duplexer
          • duplexify
          • ecc-jsbn
          • EE First
          • electron-to-chromium
          • Elliptic
            • node_modules
              • bn.js
          • emoji-regex
          • emojis-list
          • encodeurl
            • HISTORY
          • end-of-stream
          • enhanced-resolve
          • entities
          • node-errno
          • node-error-ex
          • es-abstract
          • es-to-primitive
          • escalade
          • escape-html
          • escape-string-regexp
          • Escodegen
            • node_modules
              • Source Map
          • eslint-config-react-app
          • eslint-import-resolver-node
            • node_modules
              • debug
              • ms
                • license
          • eslint-loader
          • eslint-plugin-flowtype
          • eslint-plugin-import
            • eslint-plugin-import/memo-parser
            • node_modules
              • debug
              • doctrine
              • ms
                • license
          • eslint-plugin-jsx-a11y
            • scripts
              • Rule Generator
            • docs
              • rules
                • accessible-emoji
                • alt-text
                • anchor-has-content
                • anchor-is-valid
                • aria-activedescendant-has-tabindex
                • aria-props
                • aria-proptypes
                • aria-role
                • aria-unsupported-elements
                • click-events-have-key-events
                • control-has-associated-label
                • heading-has-content
                • html-has-lang
                • iframe-has-title
                • img-redundant-alt
                • interactive-supports-focus
                • label-has-associated-control
                • [Deprecated] label-has-for
                • lang
                • media-has-caption
                • mouse-events-have-key-events
                • no-access-key
                • no-autofocus
                • no-distracting-elements
                • no-interactive-element-to-noninteractive-role
                • no-noninteractive-element-interactions
                • no-noninteractive-element-to-interactive-role
                • no-noninteractive-tabindex
                • no-onchange
                • no-redundant-roles
                • no-static-element-interactions
                • role-has-required-aria-props
                • role-supports-aria-props
                • scope
                • tabindex-no-positive
          • eslint-plugin-react-hooks
          • eslint-plugin-react
            • node_modules
              • doctrine
          • ESLint Scope
          • eslint-utils
          • eslint-visitor-keys
          • eslint
            • node_modules
              • import-fresh
              • resolve-from
          • espree
          • esprima
          • esquery
          • esrecurse
          • esutils
          • etag
            • HISTORY
          • events
            • History
          • EventSource
            • HISTORY
          • EVP_BytesToKey
          • exec-sh
          • execa
          • exit
          • expand-brackets
            • Changelog
            • node_modules
              • debug
              • define-property
              • extend-shallow
              • ms
                • license
          • express
            • History
            • node_modules
              • Array Flatten
              • debug
              • ms
                • license
              • Path-to-RegExp
                • History
          • extend-shallow
          • extend
          • External Editor
          • extglob
            • Changelog
            • node_modules
              • define-property
              • extend-shallow
          • extsprintf
          • fast-deep-equal
          • fast-glob
          • fast-json-stable-stringify
          • fast-levenshtein - Levenshtein algorithm in Javascript
          • faye-websocket
          • fb-watchman
          • figgy-pudding
          • figures
          • file-entry-cache
            • file-entry-cache - Changelog
          • file-loader
          • filesize.js
          • fill-range
            • node_modules
              • extend-shallow
          • finalhandler
            • HISTORY
            • node_modules
              • debug
              • ms
                • license
          • find-cache-dir
          • find-up
          • flat-cache
            • flat-cache - Changelog
          • flatted
          • flatten
          • flush-write-stream
          • follow-redirects
          • for-in
          • for-own
          • forever-agent
          • fork-ts-checker-webpack-plugin
            • node_modules
              • semver(1) -- The semantic versioner for npm
          • Form-Data
          • forwarded
            • HISTORY
          • fragment-cache
          • fresh
            • HISTORY
          • from2
          • Node.js: fs-extra
          • fs-write-stream-atomic
          • fs.realpath
          • function-bind
          • functional-red-black-tree
          • get-caller-file
          • get-own-enumerable-property-symbols
          • get-stream
          • getpass
          • glob-parent
          • Glob To Regular Expression
          • Glob
            • changelog
          • global-modules
          • global-prefix
            • node_modules
              • kind-of
          • globals
          • globby
            • node_modules
              • ignore
              • slash
          • graceful-fs
          • Growly
            • 1.1.0 / 2012-12-12
          • gzip-size
          • Handle Thing
          • HAR Schema
          • HAR Validator
          • harmony-reflect
          • has-ansi
            • node_modules
              • ansi-regex
          • has-flag
          • has-symbols
          • has-value
          • has-values
            • node_modules
              • kind-of
          • has
          • hash-base
          • hash.js
          • he
          • hex-color-regex
          • history ·
          • hmac-drbg
          • hoist-non-react-statics
          • hosted-git-info
          • HPACK.js
          • hsl-regex
          • hsla-regex
          • Determine the Encoding of a HTML Byte Stream
          • html-entities
          • html-escaper
          • html-webpack-plugin
          • HTTP Deceiver
          • http-errors
            • HISTORY
          • http-proxy-middleware
          • http-proxy
          • node-http-signature
            • node-http-signature changelog
            • http_signing
          • https-browserify
          • humps
          • icss-utils
          • identity-obj-proxy
          • ieee754
          • iferr
          • ignore
          • immer
          • import-cwd
          • import-fresh
          • import-from
          • import-local
          • iMurmurHash.js
          • indexes-of
          • infer-owner
          • inflight
          • inherits
          • ini
          • inquirer
            • node_modules
              • ansi-regex
              • strip-ansi
          • internal-ip
          • invariant
          • ip-regex
          • IP
          • ipaddr.js — an IPv6 and IPv4 address manipulation library
          • is-absolute-url
          • is-accessor-descriptor
          • node-is-arrayish
          • is-binary-path
          • is-buffer
          • is-callable
          • is-ci
          • is-color-stop
            • is-color-stop
          • is-data-descriptor
          • is-date-object
          • is-descriptor
            • node_modules
              • kind-of
          • is-directory
          • is-extendable
          • is-extglob
          • is-fullwidth-code-point
          • is-generator-fn
          • is-glob
          • is-number
          • is-obj
          • is-path-cwd
          • is-path-in-cwd
          • is-path-inside
          • is-plain-obj
          • is-plain-object
          • is-regex
          • is-regexp
          • is-resolvable
          • is-root
          • is-stream
          • is-symbol
          • is-typedarray
          • is-windows
          • is-wsl
          • isarray
          • isexe
          • isobject
          • isStream
          • istanbul-lib-coverage
          • istanbul-lib-instrument
          • istanbul-lib-report
            • node_modules
              • supports-color
          • istanbul-lib-source-maps
            • node_modules
              • Source Map
          • jest-docblock
          • jest-environment-jsdom-fourteen
            • node_modules
              • jsdom
                • Changelog
              • whatwg-url
              • ws: a Node.js WebSocket library
          • jest-mock
          • Plug'n'Play resolver for Jest
          • jest-watch-typeahead
          • jest-worker
            • node_modules
              • supports-color
          • Jest
          • js-tokens
          • JS-YAML - YAML 1.2 parser / writer for JavaScript
          • jsbn: javascript big number
          • jsdom
            • Changelog
            • lib
              • jsdom old API
            • node_modules
              • Acorn
          • jsesc
          • json-parse-better-errors
          • json-schema-traverse
          • json-schema
          • json-stable-stringify-without-jsonify
          • json-stable-stringify
          • json-stringify-safe
          • json3
          • JSON5 – JSON for Humans
          • Node.js - jsonfile
          • jsonify
          • jsprim
            • Changelog
          • jsx-ast-utils
          • killable
          • kind-of
          • kleur
          • Last Call Webpack Plugin
          • lazy-cache
          • left-pad
          • levn
          • load-json-file
          • loader-runner
          • loader-utils
            • node_modules
              • JSON5 – JSON for Humans
          • locate-path
          • lodash._getnative v3.9.1
          • lodash._reinterpolate v3.0.0
          • lodash.curry v4.1.1
          • lodash.debounce v3.1.1
          • lodash.flow v3.5.0
          • lodash.memoize v4.1.2
          • lodash.sortby v4.7.0
          • lodash.template v4.5.0
          • lodash.templatesettings v4.2.0
          • lodash.uniq v4.5.0
          • lodash v4.17.21
            • release
          • loglevel
          • loose-envify
          • Lower Case
          • lru cache
          • make-dir
            • node_modules
              • semver(1) -- The semantic versioner for npm
          • makeerror
          • map-cache
          • map-visit
          • md5.js
          • MDN data
            • MDN CSS data
          • media-typer
            • HISTORY
          • memory-fs
          • merge-deep
          • Merge Descriptors
            • HISTORY
          • merge-stream
          • merge2
          • Methods
            • HISTORY
          • micromatch
            • node_modules
              • kind-of
          • Miller-Rabin
          • mime-db
            • HISTORY
          • mime-types
            • HISTORY
          • mime
          • mimic-fn
          • mini-create-react-context
            • node_modules
              • regenerator-runtime
              • @babel
                • @babel/runtime
          • mini-css-extract-plugin
          • minimalistic-assert
          • minimalistic-crypto-utils
          • minimatch
          • minimist
          • mississippi
            • mississippi Change Log
          • mixin-deep
          • mixin-object
            • node_modules
              • for-in
          • mkdirp
          • move-concurrently
          • ms
            • license
          • multicast-dns-service-types
          • multicast-dns
          • mute-stream
          • nanomatch
            • node_modules
              • kind-of
          • natural-compare
          • negotiator
            • HISTORY
          • Neo-Async
          • nice-try
          • No Case
          • node-int64
          • node-libs-browser
            • node_modules
              • Punycode.js
          • node-modules-regexp
          • Node.js releases data
          • normalize-package-data
            • node_modules
              • semver(1) -- The semantic versioner for npm
          • normalize-path
          • normalize-range
          • normalize-url
          • normalizr
          • npm-run-path
          • nth-check
          • num2fraction
          • NWSAPI
          • oauth-sign
          • object-assign
          • object-hash
          • object-keys
          • object-visit
          • object.assign
          • object.fromentries
          • Object.getOwnPropertyDescriptors
          • object.pick
          • object.values
          • obuf - Offset buffer implementation.
          • on-finished
            • HISTORY
          • on-headers
            • HISTORY
          • once
          • onetime
          • opn
          • Optimize CSS Assets Webpack Plugin
          • Optionator
          • origin(al)
          • os-browserify
          • os-tmpdir
          • p-each-series
          • p-finally
          • p-limit
          • p-locate
          • p-map
          • p-reduce
          • p-try
          • pako
          • parallel-transform
          • Param Case
          • parent-module
            • node_modules
              • callsites
          • parse-asn1
          • parse-json
          • parse-key
          • parse5
          • parseurl
            • HISTORY
          • pascalcase
          • path-browserify
          • path-dirname
          • path-exists
          • path-is-absolute
          • path-key
          • path-parse
          • Path-to-RegExp
            • History
            • node_modules
              • isarray
          • path-type
          • pbkdf2
          • performance-now
          • Picomatch
          • pify
          • pinkie-promise
          • pinkie
          • Pirates
          • pkg-dir
          • pkg-up
          • pn
          • Plug'n'Play resolver for Webpack
          • node-portfinder
            • node_modules
              • debug
          • posix-character-classes
          • postcss-attribute-case-insensitive
          • PostCSS Browser Comments
          • PostCSS Calc
          • PostCSS Color Functional Notation
          • PostCSS Gray
          • PostCSS Color Hex Alpha
          • PostCSS color-mod() Function
          • postcss-color-rebeccapurple
          • postcss-colormin
          • postcss-convert-values
          • PostCSS Custom Media
          • PostCSS Custom Properties
          • PostCSS Custom Selectors
            • node_modules
              • cssesc
              • postcss-selector-parser
                • API Documentation
          • PostCSS Dir Pseudo Class
            • node_modules
              • cssesc
              • postcss-selector-parser
                • API Documentation
          • postcss-discard-comments
          • postcss-discard-duplicates
          • postcss-discard-empty
          • PostCSS Discard Overridden
          • PostCSS Double Position Gradients
          • PostCSS Environment Variables
          • PostCSS Flexbugs Fixes
          • PostCSS Focus Visible
          • PostCSS Focus Within
          • PostCSS Font-Variant
          • PostCSS Gap Properties
          • PostCSS image-set() Function
          • PostCSS Initial
          • PostCSS Lab Function
          • postcss-load-config
            • node_modules
              • cosmiconfig
          • postcss-loader
          • PostCSS Logical Properties and Values
          • PostCSS Media Minmax
            • PostCSS Media Minmax
          • postcss-merge-longhand
          • postcss-merge-rules
            • node_modules
              • postcss-selector-parser
                • API Documentation
          • postcss-minify-font-values
          • postcss-minify-gradients
          • postcss-minify-params
          • postcss-minify-selectors
            • node_modules
              • postcss-selector-parser
                • API Documentation
          • CSS Modules: Extract Imports
          • postcss-modules-local-by-default
          • CSS Modules: Scope Locals & Extend
          • CSS Modules: Values
          • PostCSS Nesting
          • postcss-normalize-charset
          • postcss-normalize-display-values
          • postcss-normalize-positions
          • postcss-normalize-repeat-style
          • postcss-normalize-string
          • postcss-normalize-timing-functions
          • postcss-normalize-unicode
          • postcss-normalize-url
          • postcss-normalize-whitespace
          • PostCSS Normalize
          • postcss-ordered-values
          • PostCSS Overflow Shorthand
          • postcss-page-break
          • PostCSS Place Properties
          • PostCSS Preset Env
          • PostCSS Pseudo Class Any Link
            • node_modules
              • cssesc
              • postcss-selector-parser
                • API Documentation
          • postcss-reduce-initial
          • postcss-reduce-transforms
          • PostCSS Replace Overflow Wrap
          • PostCSS Safe Parser
          • postcss-selector-matches
          • postcss-selector-not
          • postcss-selector-parser
            • API Documentation
          • postcss-unique-selectors
          • postcss-value-parser
          • postcss-values-parser
            • API Documentation
            • .github
              • ISSUE_TEMPLATE
              • PULL_REQUEST_TEMPLATE
          • PostCSS
            • docs
              • PostCSS Architecture
              • PostCSS and Source Maps
              • How to Write Custom Syntax
              • guidelines
                • PostCSS Plugin Guidelines
                • PostCSS Runner Guidelines
            • node_modules
              • Source Map
              • supports-color
          • prelude.ls
          • pretty-bytes
          • pretty-error
          • process-nextick-args
            • Copyright (c) 2015 Calvin Metcalf
          • process
          • progress
          • promise-inflight
          • prompts
          • prop-types
            • node_modules
              • loose-envify
          • proxy-addr
            • HISTORY
          • prr
          • psl (Public Suffix List)
          • publicEncrypt
          • pump
          • pumpify
            • node_modules
              • pump
          • Punycode.js
          • pure-color
          • q
            • CHANGES
          • qs
          • querystring
            • History
            • License
          • querystring
            • History
            • License
          • querystringify
          • raf
          • randombytes
          • randomfill
          • range-parser
            • HISTORY
          • raw-body
            • HISTORY
          • react-app-polyfill
            • node_modules
              • regenerator-runtime
          • react-base16-styling
          • react-dev-utils
            • node_modules
              • Browserslist
              • inquirer
              • strip-ansi
          • react-dock
          • react-dom
          • react-error-overlay
          • react-is
          • react-json-tree
          • react-pure-render
          • React Redux
            • node_modules
              • loose-envify
          • react-router-dom
          • react-router
          • react-scripts
            • template-typescript
            • template
          • react
          • read-pkg-up
          • read-pkg
          • readable-stream
            • GOVERNANCE
            • doc
              • wg-meetings
                • streams WG Meeting 2015-01-30
          • readdirp
          • realpath-native
          • recursive-readdir
          • Redux DevTools Dock Monitor
          • Redux DevTools Instrumentation
          • Redux DevTools Log Monitor
            • node_modules
              • lodash.debounce v4.0.8
          • Redux DevTools Themes
          • Redux DevTools
          • Logger for Redux
          • Redux Thunk
          • redux
            • node_modules
              • loose-envify
              • symbol-observable
          • regenerate-unicode-properties
          • Regenerate
          • regenerator-runtime
          • regenerator-transform
          • regex-not
          • regexpp
          • regexpu-core
          • regjsgen
          • RegJSParser
            • node_modules
              • jsesc
          • relateurl
          • remove-trailing-separator
            • History
          • RenderKid
            • node_modules
              • ansi-regex
              • strip-ansi
          • repeat-element
          • repeat-string
          • request-promise-core
          • request-promise-native
          • request
          • require-directory
          • require-from-string
          • require-main-filename
          • requires-port
          • resolve-cwd
          • resolve-from
          • resolve-pathname
          • resolve-url
            • changelog
          • resolve
          • restore-cursor
          • ret
          • rgb-regex
          • rgba-regex
          • rimraf
          • ripemd160
          • RSVP.js
          • run-async
          • run-queue
          • rxjs
            • _esm2015
            • _esm5
            • src
          • safe-buffer
          • safe-regex
          • safer-buffer
            • Porting to the Buffer.from/Buffer.alloc API
          • sane
          • sass-loader
            • node_modules
              • clone-deep
              • kind-of
              • shallow-clone
          • sax js
          • saxes
          • scheduler
          • schema-utils
          • Select Hose
          • selfsigned
          • semver(1) -- The semantic versioner for npm
          • send
            • HISTORY
            • node_modules
              • debug
              • mime
              • ms
                • license
          • Serialize JavaScript
          • serve-index
            • HISTORY
            • node_modules
              • debug
              • ms
                • license
          • serve-static
            • HISTORY
          • set-blocking
          • set-value
            • node_modules
              • extend-shallow
          • Polyfill for Object.setPrototypeOf
          • sha.js
          • shallow-clone
            • node_modules
              • kind-of
              • lazy-cache
          • shebang-command
          • shebang-regex
          • shell-quote
          • Shellwords
          • signal-exit
          • simple-swizzle
            • node_modules
              • node-is-arrayish
          • sister ANSI
          • slash
          • slice-ansi
          • snapdragon-node
            • node_modules
              • define-property
          • snapdragon-util
          • snapdragon
            • node_modules
              • debug
              • define-property
              • extend-shallow
              • ms
                • license
          • sockjs-client
            • Changelog
            • node_modules
              • debug
          • sockjs
          • source-list-map
          • source-map-resolve
            • changelog
          • Source Map Support
            • node_modules
              • Source Map
          • source-map-url
            • changelog
          • Source Map
          • spdx-correct
          • spdx-exceptions
          • spdx-expression-parse
          • spdx-license-ids
          • spdy-transport
            • node_modules
              • readable-stream
                • GOVERNANCE
          • SPDY Server for node.js
          • split-string
          • sprintf-js
          • sshpk
          • ssri
          • Stable
          • stack-utils
          • Statuses
            • HISTORY
          • Stealthy-Require
          • stream-browserify
          • stream-each
            • Collaborators
          • stream-http
          • stream-shift
          • string-length
          • string-width
          • string_decoder
          • stringify-object
          • strip-ansi
          • strip-bom
          • strip-comments
          • strip-eof
          • strip-json-comments
          • style-loader
          • stylehacks
            • node_modules
              • postcss-selector-parser
                • API Documentation
          • supports-color
          • svgo
            • README.ru
          • symbol-observable
          • symbol-tree
          • table
            • node_modules
              • string-width
          • Tapable
          • terser-webpack-plugin
            • node_modules
              • Source Map
          • terser
            • Our patrons
            • node_modules
              • Source Map
          • test-exclude
          • text-table
          • throat
          • through
          • through2
          • thunky
          • timers-browserify
          • Node-TimSort: Fast Sorting for Node.js
          • tiny-invariant 🔬💥
          • tiny-warning 🔬⚠️
          • Tmp
          • tmpl
          • to-arraybuffer
          • to-fast-properties
          • to-object-path
          • to-regex-range
          • to-regex
          • tough-cookie
          • tr46.js
          • Plug'n'Play resolver for TypeScript
          • tslib
          • Utility functions for working with typescript's AST
          • tty-browserify
          • tunnel-agent
          • tweetnacl
            • AUTHORS
            • Important!
          • type-check
          • type-is
            • HISTORY
          • typedarray
          • unicode-canonical-property-names-ecmascript
          • unicode-match-property-ecmascript
          • unicode-match-property-value-ecmascript
          • unicode-property-aliases-ecmascript
          • union-value
          • uniq
          • uniqs
          • unique-filename
          • unique-slug
          • universalify
          • unpipe
            • 1.0.0 / 2015-06-14
          • unquote
          • unset-value
            • node_modules
              • has-value
                • node_modules
                  • isobject
              • has-values
          • upath v1.2.0
          • URI.js
          • urix
          • url-loader
          • url-parse
          • node-url
            • node_modules
              • Punycode.js
          • use
          • util-deprecate
            • History
          • util.promisify
          • util
          • utila
          • utils-merge
          • uuid
          • validate-npm-package-license
          • value-equal
          • vary
            • HISTORY
          • vendors
          • verror
            • Changelog
          • vm-browserify
          • w3c-hr-time
          • w3c-xmlserializer
          • walker
          • watchpack
          • wbuf
          • Web IDL Type Conversions on JavaScript Values
          • webpack-dev-middleware
          • webpack-dev-server
            • node_modules
              • ansi-regex
              • strip-ansi
              • supports-color
          • webpack-log
          • Webpack Manifest Plugin
          • webpack-sources
            • node_modules
              • Source Map
          • webpack
          • websocket-driver
          • websocket-extensions
            • lib
              • Extension pipelining
          • Decode According to the WHATWG Encoding Standard
          • Parse, serialize, and manipulate MIME types
          • whatwg-url
          • which-module
          • which
          • workbox-background-sync
          • workbox-broadcast-update
          • workbox-build
            • node_modules
              • Node.js: fs-extra
                • docs
                  • copySync(src, dest, [options])
                  • copy(src, dest, [options, callback])
                  • emptyDirSync(dir)
                  • emptyDir(dir, [callback])
                  • ensureDirSync(dir)
                  • ensureDir(dir, [callback])
                  • ensureFileSync(file)
                  • ensureFile(file, [callback])
                  • ensureLinkSync(srcpath, dstpath)
                  • ensureLink(srcpath, dstpath, [callback])
                  • ensureSymlinkSync(srcpath, dstpath, [type])
                  • ensureSymlink(srcpath, dstpath, [type, callback])
                  • About fs.read() & fs.write()
                  • moveSync(src, dest, [options])
                  • move(src, dest, [options, callback])
                  • outputFileSync(file, data, [options])
                  • outputFile(file, data, [options, callback])
                  • outputJsonSync(file, object, [options])
                  • outputJson(file, object, [options, callback])
                  • pathExistsSync(file)
                  • pathExists(file[, callback])
                  • readJsonSync(file, [options])
                  • readJson(file, [options, callback])
                  • removeSync(path)
                  • remove(path, [callback])
                  • writeJsonSync(file, object, [options])
                  • writeJson(file, object, [options, callback])
          • workbox-cacheable-response
          • workbox-core
          • workbox-expiration
          • workbox-google-analytics
          • workbox-navigation-preload
          • workbox-precaching
          • workbox-range-requests
          • workbox-routing
          • workbox-strategies
          • workbox-streams
          • workbox-sw
          • workbox-webpack-plugin
          • workbox-window
          • Worker Farm
          • wrap-ansi
            • node_modules
              • is-fullwidth-code-point
              • string-width
          • wrappy
          • write-file-atomic
          • write
          • ws: a Node.js WebSocket library
          • Validate XML Names and Qualified Names
          • xmlchars
          • XRegExp 4.4.1
          • xtend
          • y18n
          • yallist
          • @babel
            • @babel/code-frame
          • @babel
            • @babel/core
          • @babel
            • @babel/generator
          • @babel
            • @babel/helper-annotate-as-pure
          • @babel
            • @babel/helper-builder-binary-assignment-operator-visitor
          • @babel
            • @babel/helper-create-class-features-plugin
          • @babel
            • @babel/helper-explode-assignable-expression
          • @babel
            • @babel/helper-function-name
          • @babel
            • @babel/helper-get-function-arity
          • @babel
            • @babel/helper-hoist-variables
          • @babel
            • @babel/helper-member-expression-to-functions
          • @babel
            • @babel/helper-module-imports
          • @babel
            • @babel/helper-module-transforms
          • @babel
            • @babel/helper-optimise-call-expression
          • @babel
            • @babel/helper-plugin-utils
          • @babel
            • @babel/helper-remap-async-to-generator
          • @babel
            • @babel/helper-replace-supers
          • @babel
            • @babel/helper-simple-access
          • @babel
            • @babel/helper-split-export-declaration
          • @babel
            • @babel/helper-wrap-function
          • @babel
            • @babel/helpers
          • @babel
            • @babel/highlight
          • @babel
            • @babel/parser
          • @babel
            • @babel/plugin-proposal-async-generator-functions
          • @babel
            • @babel/plugin-proposal-class-properties
          • @babel
            • @babel/plugin-proposal-decorators
          • @babel
            • @babel/plugin-proposal-json-strings
          • @babel
            • @babel/plugin-proposal-object-rest-spread
          • @babel
            • @babel/plugin-proposal-optional-catch-binding
          • @babel
            • @babel/plugin-proposal-unicode-property-regex
          • @babel
            • @babel/plugin-syntax-async-generators
          • @babel
            • @babel/plugin-syntax-decorators
          • @babel
            • @babel/plugin-syntax-dynamic-import
          • @babel
            • @babel/plugin-syntax-flow
          • @babel
            • @babel/plugin-syntax-json-strings
          • @babel
            • @babel/plugin-syntax-jsx
          • @babel
            • @babel/plugin-syntax-object-rest-spread
          • @babel
            • @babel/plugin-syntax-optional-catch-binding
          • @babel
            • @babel/plugin-syntax-typescript
          • @babel
            • @babel/plugin-transform-arrow-functions
          • @babel
            • @babel/plugin-transform-async-to-generator
          • @babel
            • @babel/plugin-transform-block-scoped-functions
          • @babel
            • @babel/plugin-transform-block-scoping
          • @babel
            • @babel/plugin-transform-classes
          • @babel
            • @babel/plugin-transform-computed-properties
          • @babel
            • @babel/plugin-transform-destructuring
          • @babel
            • @babel/plugin-transform-dotall-regex
          • @babel
            • @babel/plugin-transform-duplicate-keys
          • @babel
            • @babel/plugin-transform-exponentiation-operator
          • @babel
            • @babel/plugin-transform-flow-strip-types
          • @babel
            • @babel/plugin-transform-for-of
          • @babel
            • @babel/plugin-transform-function-name
          • @babel
            • @babel/plugin-transform-literals
          • @babel
            • @babel/plugin-transform-member-expression-literals
          • @babel
            • @babel/plugin-transform-modules-amd
          • @babel
            • @babel/plugin-transform-modules-commonjs
          • @babel
            • @babel/plugin-transform-modules-systemjs
          • @babel
            • @babel/plugin-transform-modules-umd
          • @babel
            • @babel/plugin-transform-named-capturing-groups-regex
          • @babel
            • @babel/plugin-transform-new-target
          • @babel
            • @babel/plugin-transform-object-super
          • @babel
            • @babel/plugin-transform-parameters
          • @babel
            • @babel/plugin-transform-property-literals
          • @babel
            • @babel/plugin-transform-react-constant-elements
          • @babel
            • @babel/plugin-transform-react-display-name
          • @babel
            • @babel/plugin-transform-react-jsx-self
          • @babel
            • @babel/plugin-transform-react-jsx-source
          • @babel
            • @babel/plugin-transform-react-jsx
          • @babel
            • @babel/plugin-transform-regenerator
          • @babel
            • @babel/plugin-transform-reserved-words
          • @babel
            • @babel/plugin-transform-runtime
          • @babel
            • @babel/plugin-transform-shorthand-properties
          • @babel
            • @babel/plugin-transform-spread
          • @babel
            • @babel/plugin-transform-sticky-regex
          • @babel
            • @babel/plugin-transform-template-literals
          • @babel
            • @babel/plugin-transform-typeof-symbol
          • @babel
            • @babel/plugin-transform-typescript
          • @babel
            • @babel/plugin-transform-unicode-regex
          • @babel
            • @babel/preset-env
          • @babel
            • @babel/preset-react
          • @babel
            • @babel/preset-typescript
          • @babel
            • @babel/runtime
          • @babel
            • @babel/template
          • @babel
            • @babel/traverse
          • @babel
            • @babel/types
          • @cnakazawa
            • watch -- Utilities for watching file trees in node.js
          • @csstools
            • Convert Colors
          • @csstools
            • @csstools/normalize.css
          • @mrmlnc
            • Enhanced fs.readdir()
          • @nodelib
            • @nodelib/fs.stat
          • @svgr
            • @svgr/babel-plugin-add-jsx-attribute
          • @svgr
            • @svgr/babel-plugin-remove-jsx-attribute
          • @svgr
            • @svgr/babel-plugin-remove-jsx-empty-expression
          • @svgr
            • @svgr/babel-plugin-replace-jsx-attribute-value
          • @svgr
            • @svgr/babel-plugin-svg-dynamic-title
          • @svgr
            • @svgr/babel-plugin-svg-em-dimensions
          • @svgr
            • @svgr/babel-plugin-transform-react-native-svg
          • @svgr
            • @svgr/babel-plugin-transform-svg-component
          • @svgr
            • @svgr/babel-preset
          • @svgr
            • @svgr/core
          • @svgr
            • @svgr/hast-util-to-babel-ast
          • @svgr
            • @svgr/plugin-jsx
          • @svgr
            • @svgr/plugin-svgo
          • @svgr
            • @svgr/webpack
          • @types
            • babel__core
          • @types
            • babel__generator
          • @types
            • babel__template
          • @types
            • babel__traverse
          • @types
            • istanbul-lib-coverage
          • @types
            • istanbul-lib-report
          • @types
            • istanbul-reports
          • @types
            • node
          • @types
            • q
          • @types
            • stack-utils
          • @types
            • yargs-parser
          • @types
            • yargs
          • @typescript-eslint
            • ESLint Plugin TypeScript
          • @typescript-eslint
            • TypeScript ESLint Parser
          • @typescript-eslint
            • TypeScript ESTree
          • @webassemblyjs
            • @webassemblyjs/ast
          • @webassemblyjs
            • Parser function for floating point hexadecimals
          • @webassemblyjs
            • @webassemblyjs/wasm-edit
          • @webassemblyjs
            • @webassemblyjs/wasm-parser
          • @webassemblyjs
            • @webassemblyjs/wast-parser
          • @webassemblyjs
            • @webassemblyjs/wast-parser
          • @xtuc
            • ieee754
          • @xtuc
            • long.js
          • eslint-module-utils
            • node_modules
              • debug
          • jest-util
            • node_modules
              • callsites
              • Source Map
          • loader-fs-cache
            • node_modules
              • find-cache-dir
              • find-up
              • path-exists
              • pkg-dir
          • object-copy
            • node_modules
              • define-property
          • static-extend
            • node_modules
              • define-property
          • watchpack-chokidar2
            • node_modules
              • Chokidar
          • @babel
            • highlight
              • node_modules
                • js-tokens
          • @babel
            • plugin-transform-runtime
              • node_modules
                • semver(1) -- The semantic versioner for npm
          • @babel
            • runtime
              • node_modules
                • regenerator-runtime
          • @jest
            • source-map
              • node_modules
                • callsites
          • @jest
            • source-map
              • node_modules
                • Source Map
          • @jest
            • transform
              • node_modules
                • Source Map
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require that member overloads be consecutive (adjacent-overload-signatures)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Requires using either T[] or Array<T> for arrays (array-type)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Bans “// @ts-ignore” comments from being used (ban-ts-ignore)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Bans specific types from being used (ban-types)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Enforce camelCase naming convention (camelcase)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require PascalCased class and interface names (class-name-casing)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require explicit return types on functions and class methods (explicit-function-return-type)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require explicit accessibility modifiers on class properties and methods (explicit-member-accessibil
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Enforces naming of generic type variables (generic-type-naming)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Enforce consistent indentation (indent)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require that interface names should or should not prefixed with I (interface-name-prefix)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require a specific member delimiter style for interfaces and type literals (member-delimiter-style)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Enforces naming conventions for class members by visibility (member-naming)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require a consistent member declaration order (member-ordering)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow generic Array constructors (no-array-constructor)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow the declaration of empty interfaces (no-empty-interface)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow usage of the any type (no-explicit-any)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Forbids the use of classes as namespaces (no-extraneous-class)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow iterating over an array with a for-in loop (no-for-in-array)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallows explicit type declarations for variables or parameters initialized to a number, string, or
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Enforce valid definition of new and constructor (no-misused-new)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow the use of custom TypeScript modules and namespaces (no-namespace)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallows non-null assertions using the ! postfix operator (no-non-null-assertion)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow the use of parameter properties in class constructors (no-parameter-properties)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallows invocation of require() (no-require-imports)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow aliasing this (no-this-alias)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow the use of type aliases (no-type-alias)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Warns when a namespace qualifier is unnecessary (no-unnecessary-qualifier)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Warns if a type assertion does not change the type of an expression (no-unnecessary-type-assertion)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow unused variables (no-unused-vars)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow the use of variables before they are defined (no-use-before-define)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallow unnecessary constructors (no-useless-constructor)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Disallows the use of require statements except in import statements (no-var-requires)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Use function types instead of interfaces with call signatures (prefer-function-type)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require the use of the namespace keyword instead of the module keyword to declare custom TypeScript
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Requires any function or method that returns a Promise to be marked async (promise-function-async)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Requires Array#sort calls to always provide a compareFunction (require-array-sort-compare)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • When adding two variables, operands must both be of type number or of type string (restrict-plus-ope
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Require consistent spacing around type annotations (type-annotation-spacing)
          • @typescript-eslint
            • eslint-plugin
              • docs
                • rules
                  • Warns for any two overloads that could be unified into one by using a union or an optional/rest para
          • @typescript-eslint
            • typescript-estree
              • node_modules
                • semver(1) -- The semantic versioner for npm
      • Redux Shopping Cart Example
      • Redux TodoMVC Example
      • Redux Todos Example
      • Redux Todos with Undo Example
      • Redux Todos Example
      • Redux Tree View Example
    • Learning React: Second Edition ⚛️
      • Chapter 1 : Introduction
      • Chapter 2 : Emerging JavaScript
      • Chapter 3 : Functional Programming with JavaScript
      • Chapter 4 : Pure React
      • Chapter 5 : React with JSX
        • Recipe App
      • Chapter 6 : React State Management
      • Chapter 7 : Enhancing Components with Hooks
      • Chapter 8: Incorporating Data
      • Chapter 9: Suspense
      • Chapter 10 : Testing
        • my-type
        • star-testing
        • testing
      • Chapter 11 : React Router
        • color-organizer
        • company-website
      • Chapter 12 : React & the Server
    • React Redux
      • docs
        • Troubleshooting
        • api
          • Provider
          • batch
          • connectAdvanced
          • Connect
          • Hooks
        • introduction
          • Getting Started with React Redux
          • Why Use React Redux?
        • tutorials
          • Tutorial: Connect API
          • Quick Start
          • TypeScript Quick Start
        • using-react-redux
          • Accessing the Store
          • Connect: Dispatching Actions with mapDispatchToProps
          • Connect: Extracting Data with mapStateToProps
          • Usage with TypeScript
      • website
        • versioned_docs
          • version-5.x
            • API
            • Troubleshooting
            • api
              • <Provider />
              • API
              • connectAdvanced
              • connect
            • introduction
              • Basic Tutorial
              • Quick Start
              • Why Use React-Redux?
            • using-react-redux
              • Connect: Dispatching Actions with mapDispatchToProps
              • Connect: Extracting Data with mapStateToProps
          • version-6.x
            • Troubleshooting
            • api
              • Provider
              • connectAdvanced()
              • connect()
            • introduction
              • Basic Tutorial
              • Quick Start
              • Why Use React Redux?
            • using-react-redux
              • Accessing the Store
              • Connect: Dispatching Actions with mapDispatchToProps
              • Connect: Extracting Data with mapStateToProps
          • version-7.0
            • Troubleshooting
            • api
              • Provider
              • batch()
              • connectAdvanced()
              • connect()
            • introduction
              • Basic Tutorial
              • Quick Start
              • Why Use React Redux?
            • using-react-redux
              • Accessing the Store
              • Connect: Dispatching Actions with mapDispatchToProps
              • Connect: Extracting Data with mapStateToProps
          • version-7.1
            • Troubleshooting
            • api
              • Provider
              • batch()
              • connectAdvanced()
              • connect()
              • Hooks
            • introduction
              • Basic Tutorial
              • Quick Start
              • Why Use React Redux?
            • using-react-redux
              • Accessing the Store
              • Connect: Dispatching Actions with mapDispatchToProps
              • Connect: Extracting Data with mapStateToProps
              • Static Typing
          • version-7.2
            • Troubleshooting
            • api
              • Provider
              • batch()
              • connectAdvanced()
              • connect()
              • Hooks
            • introduction
              • Basic Tutorial
              • Quick Start
              • Why Use React Redux?
            • using-react-redux
              • Accessing the Store
              • Connect: Dispatching Actions with mapDispatchToProps
              • Connect: Extracting Data with mapStateToProps
              • Static Typing
      • .github
        • ISSUE_TEMPLATE
          • Bug_report
        • ISSUE_TEMPLATE
          • Feature_request
    • Redux Essentials Tutorial Example
    • Redux Toolkit
      • etc
        • API Report File for "@reduxjs/toolkit"
        • API Report File for "@reduxjs/toolkit"
        • API Report File for "@reduxjs/toolkit"
      • Website
      • docs
        • api
          • configureStore
          • createAction
          • createAsyncThunk
          • createEntityAdapter
          • createReducer
          • createSelector
          • createSlice
          • getDefaultMiddleware
          • Immutability Middleware
          • Matching Utilities
          • Other Exports
          • Serializability Middleware
        • introduction
          • Getting Started
        • rtk-query
          • Comparison with Other Tools
          • RTK Query Overview
          • Usage With TypeScript
          • api
            • ApiProvider
            • createApi
            • fetchBaseQuery
            • setupListeners
            • created-api
              • API Slices: Cache Management
              • API Slices: Cache Management
              • API Slices: Code Splitting and Generation
              • API Slices: Endpoints
              • API Slices: React Hooks
              • Overview
              • API Slices: Redux Integration
          • usage
            • Automated Re-fetching
            • Cache Behavior
            • Code Generation
            • Code Splitting
            • Conditional Fetching
            • Customizing createApi
            • Customizing Queries
            • Error Handling
            • RTK Query Examples
            • Migrating to RTK Query
            • Mutations
            • Optimistic Updates
            • Pagination
            • Polling
            • Prefetching
            • Queries
            • Streaming Updates
            • Usage Without React Hooks
        • tutorials
          • Tutorials Overview
          • Quick Start
          • RTK Query
          • TypeScript Quick Start
        • usage
          • Writing Reducers with Immer
          • Usage Guide
          • Usage With TypeScript
    • Learning-Redux
      • Chapter04
        • Chapter44
  • TOOLS
    • npm-packages
      • axios
        • Changelog
  • TOOLS
    • npm-packages
      • axios
  • TOOLS
    • npm-packages
      • axios
        • Upgrade Guide
  • TOOLS
    • npm-packages
      • boolbase
  • TOOLS
    • npm-packages
      • call-bind
        • Changelog
  • TOOLS
    • npm-packages
      • call-bind
  • TOOLS
    • npm-packages
      • cheerio
        • History
  • TOOLS
    • npm-packages
      • cheerio
  • TOOLS
    • npm-packages
      • css-select
  • TOOLS
    • npm-packages
      • css-what
  • TOOLS
    • npm-packages
      • CSSType
  • TOOLS
    • npm-packages
      • debug
        • CHANGELOG
  • TOOLS
    • npm-packages
      • debug
  • TOOLS
    • npm-packages
      • deep-diff
  • TOOLS
    • npm-packages
      • deep-equal
        • Changelog
  • TOOLS
    • npm-packages
      • deep-equal
  • TOOLS
    • npm-packages
      • define-properties
        • CHANGELOG
  • TOOLS
    • npm-packages
      • define-properties
  • TOOLS
    • npm-packages
      • domelementtype
  • TOOLS
    • npm-packages
      • domhandler
  • TOOLS
    • npm-packages
      • domutils
  • TOOLS
    • npm-packages
      • entities
  • TOOLS
    • npm-packages
      • flux-standard-action
  • TOOLS
    • npm-packages
      • follow-redirects
  • TOOLS
    • npm-packages
      • function-bind
  • TOOLS
    • npm-packages
      • get-intrinsic
        • Changelog
  • TOOLS
    • npm-packages
      • get-intrinsic
  • TOOLS
    • npm-packages
      • has-symbols
        • Changelog
  • TOOLS
    • npm-packages
      • has-symbols
  • TOOLS
    • npm-packages
      • has
  • TOOLS
    • npm-packages
      • hoist-non-react-statics
        • CHANGELOG
  • TOOLS
    • npm-packages
      • hoist-non-react-statics
        • Software License Agreement (BSD License)
  • TOOLS
    • npm-packages
      • hoist-non-react-statics
  • TOOLS
    • npm-packages
      • htmlparser2
  • TOOLS
    • npm-packages
      • inherits
  • TOOLS
    • npm-packages
      • invariant
        • CHANGELOG
  • TOOLS
    • npm-packages
      • invariant
  • TOOLS
    • npm-packages
      • is-arguments
        • Changelog
  • TOOLS
    • npm-packages
      • is-arguments
  • TOOLS
    • npm-packages
      • is-date-object
        • Changelog
  • TOOLS
    • npm-packages
      • is-date-object
  • TOOLS
    • npm-packages
      • is-promise
  • TOOLS
    • npm-packages
      • is-regex
        • Changelog
  • TOOLS
    • npm-packages
      • is-regex
  • TOOLS
    • npm-packages
      • js-tokens
        • CHANGELOG
  • TOOLS
    • npm-packages
      • js-tokens
  • TOOLS
    • npm-packages
      • just-curry-it
  • TOOLS
    • npm-packages
      • lodash.assignin v4.2.0
  • TOOLS
    • npm-packages
      • lodash.bind v4.2.1
  • TOOLS
    • npm-packages
      • lodash.defaults v4.2.0
  • TOOLS
    • npm-packages
      • lodash.filter v4.6.0
  • TOOLS
    • npm-packages
      • lodash.flatten v4.4.0
  • TOOLS
    • npm-packages
      • lodash.foreach v4.5.0
  • TOOLS
    • npm-packages
      • lodash.isplainobject v4.0.6
  • TOOLS
    • npm-packages
      • lodash.isstring v4.0.1
  • TOOLS
    • npm-packages
      • lodash.map v4.6.0
  • TOOLS
    • npm-packages
      • lodash.merge v4.6.2
  • TOOLS
    • npm-packages
      • lodash.pick v4.4.0
  • TOOLS
    • npm-packages
      • lodash.reduce v4.6.0
  • TOOLS
    • npm-packages
      • lodash.reject v4.6.0
  • TOOLS
    • npm-packages
      • lodash.some v4.6.0
  • TOOLS
    • npm-packages
      • loose-envify
  • TOOLS
    • npm-packages
      • ms
        • license
  • TOOLS
    • npm-packages
      • ms
  • TOOLS
    • npm-packages
      • nth-check
  • TOOLS
    • npm-packages
      • object-assign
  • TOOLS
    • npm-packages
      • object-is
        • Changelog
  • TOOLS
    • npm-packages
      • object-is
  • TOOLS
    • npm-packages
      • object-keys
        • CHANGELOG
  • TOOLS
    • npm-packages
      • object-keys
  • TOOLS
    • npm-packages
      • prop-types
        • CHANGELOG
  • TOOLS
    • npm-packages
      • prop-types
  • TOOLS
    • npm-packages
      • react-is
  • TOOLS
    • npm-packages
      • react-redux
        • CHANGELOG
  • TOOLS
    • npm-packages
      • react-redux
        • LICENSE
  • TOOLS
    • npm-packages
      • React Redux
  • TOOLS
    • npm-packages
      • readable-stream
        • Developer's Certificate of Origin 1.1
  • TOOLS
    • npm-packages
      • readable-stream
        • GOVERNANCE
  • TOOLS
    • npm-packages
      • readable-stream
  • TOOLS
    • npm-packages
      • reduce-reducers
  • TOOLS
    • npm-packages
      • redux-actions
  • TOOLS
    • npm-packages
      • redux-async-initial-state
        • LICENSE
  • TOOLS
    • npm-packages
      • Redux Async Initial State
  • TOOLS
    • npm-packages
      • redux-async-queue
        • LICENSE
  • TOOLS
    • npm-packages
      • Redux Async Queue
  • TOOLS
    • npm-packages
      • redux-async
  • TOOLS
    • npm-packages
      • redux-cheerio
  • TOOLS
    • npm-packages
      • redux-localstorage
        • LICENSE
  • TOOLS
    • npm-packages
      • redux-localstorage
  • TOOLS
    • npm-packages
      • Logger for Redux
  • TOOLS
    • npm-packages
      • redux-promise
  • TOOLS
    • npm-packages
      • redux-react-router
  • TOOLS
    • npm-packages
      • redux-reporter
  • TOOLS
    • npm-packages
      • redux-sync-promise
  • TOOLS
    • npm-packages
      • redux-thunk
        • LICENSE
  • TOOLS
    • npm-packages
      • Redux Thunk
  • TOOLS
    • npm-packages
      • redux-transduce
  • TOOLS
    • npm-packages
      • redux
        • LICENSE
  • TOOLS
    • npm-packages
      • redux
  • TOOLS
    • npm-packages
      • regenerator-runtime
  • TOOLS
    • npm-packages
      • regexp.prototype.flags
        • Changelog
  • TOOLS
    • npm-packages
      • regexp.prototype.flags
  • TOOLS
    • npm-packages
      • safe-buffer
  • TOOLS
    • npm-packages
      • string_decoder
  • TOOLS
    • npm-packages
      • to-camel-case
        • History
  • TOOLS
    • npm-packages
      • to-camel-case
  • TOOLS
    • npm-packages
      • to-no-case
        • History
  • TOOLS
    • npm-packages
      • to-no-case
  • TOOLS
    • npm-packages
      • to-space-case
        • History
  • TOOLS
    • npm-packages
      • to-space-case
  • TOOLS
    • npm-packages
      • util-deprecate
        • History
  • TOOLS
    • npm-packages
      • util-deprecate
  • TOOLS
    • redux
      • .github
        • ISSUE_TEMPLATE
  • TOOLS
    • redux
      • docs
        • Redux FAQ
  • TOOLS
    • redux
      • docs
        • Feedback
  • TOOLS
    • redux
      • docs
        • Glossary
  • TOOLS
    • redux
      • Table of Contents
  • TOOLS
    • redux
      • docs
        • Troubleshooting
  • TOOLS
    • redux
      • Examples
  • TOOLS
    • redux
      • The Redux Logo
  • projects
    • web-guided
      • Redux React Module Project: Movie CRUD
      • web-guided-project-redux-lecture
        • Redux Guided Project
  • TOOLS
    • npm-packages
      • @babel
        • @babel/runtime
  • TOOLS
    • npm-packages
      • @types
        • hoist-non-react-statics
  • TOOLS
    • npm-packages
      • @types
        • prop-types
  • TOOLS
    • npm-packages
      • @types
        • react-redux
  • TOOLS
    • npm-packages
      • @types
        • react
  • TOOLS
    • npm-packages
      • @types
        • scheduler
  • TOOLS
    • redux
      • docs
        • advanced
          • Async Actions
  • TOOLS
    • redux
      • docs
        • advanced
          • Async Flow
  • TOOLS
    • redux
      • docs
        • advanced
          • Example: Reddit API
  • TOOLS
    • redux
      • docs
        • advanced
          • Middleware
  • TOOLS
    • redux
      • docs
        • advanced
          • Next Steps
  • TOOLS
    • redux
      • docs
        • Advanced
  • TOOLS
    • redux
      • docs
        • advanced
          • Usage with React Router
  • TOOLS
    • redux
      • docs
        • API Reference
  • TOOLS
    • redux
      • docs
        • api
          • Store
  • TOOLS
    • redux
      • docs
        • api
          • applyMiddleware(...middleware)
  • TOOLS
    • redux
      • docs
        • api
          • bindActionCreators(actionCreators, dispatch)
  • TOOLS
    • redux
      • docs
        • api
          • combineReducers(reducers)
  • TOOLS
    • redux
      • docs
        • api
          • compose(...functions)
  • TOOLS
    • redux
      • docs
        • api
          • createStore(reducer, [preloadedState], [enhancer])
  • TOOLS
    • redux
      • docs
        • basics
          • Actions
  • TOOLS
    • redux
      • docs
        • basics
          • Data Flow
  • TOOLS
    • redux
      • docs
        • basics
          • Example: Todo List
  • TOOLS
    • redux
      • docs
        • Basics
  • TOOLS
    • redux
      • docs
        • basics
          • Reducers
  • TOOLS
    • redux
      • docs
        • basics
          • Store
  • TOOLS
    • redux
      • docs
        • basics
          • Usage with React
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Actions
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Code Structure
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Design Decisions
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: General
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Immutable Data
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Miscellaneous
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Organizing State
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Performance
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: React Redux
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Reducers
  • TOOLS
    • redux
      • docs
        • faq
          • Redux FAQ: Store Setup
  • TOOLS
    • redux
      • docs
        • introduction
          • Core Concepts
  • TOOLS
    • redux
      • docs
        • introduction
          • Ecosystem
  • TOOLS
    • redux
      • docs
        • introduction
          • Examples
  • TOOLS
    • redux
      • docs
        • introduction
          • Motivation
  • TOOLS
    • redux
      • docs
        • introduction
          • Prior Art
  • TOOLS
    • redux
      • docs
        • Introduction
  • TOOLS
    • redux
      • docs
        • introduction
          • Three Principles
  • TOOLS
    • redux
      • docs
        • recipes
          • Computing Derived Data
  • TOOLS
    • redux
      • docs
        • recipes
          • Implementing Undo History
  • TOOLS
    • redux
      • docs
        • recipes
          • Isolating Redux Sub-Apps
  • TOOLS
    • redux
      • docs
        • recipes
          • Migrating to Redux
  • TOOLS
    • redux
      • docs
        • Recipes
  • TOOLS
    • redux
      • docs
        • recipes
          • Reducing Boilerplate
  • TOOLS
    • redux
      • docs
        • recipes
          • Server Rendering
  • TOOLS
    • redux
      • docs
        • recipes
          • Structuring Reducers
  • TOOLS
    • redux
      • docs
        • recipes
          • Using Immutable.JS with Redux
  • TOOLS
    • redux
      • docs
        • recipes
          • Using Object Spread Operator
  • TOOLS
    • redux
      • docs
        • recipes
          • Writing Tests
  • TOOLS
    • redux
      • examples
        • Redux Async Example
  • TOOLS
    • redux
      • examples
        • Redux Counter Example
  • TOOLS
    • redux
      • examples
        • Redux Real World Example
  • TOOLS
    • redux
      • examples
        • Redux Shopping Cart Example
  • TOOLS
    • redux
      • examples
        • Redux TodoMVC Example
  • TOOLS
    • redux
      • examples
        • Redux Todos Example
  • TOOLS
    • redux
      • examples
        • Redux Todos with Undo Example
  • TOOLS
    • redux
      • examples
        • Redux Todos Example
  • TOOLS
    • redux
      • examples
        • Redux Tree View Example
  • TOOLS
    • npm-packages
      • axios
        • lib
          • axios // adapters
  • TOOLS
    • npm-packages
      • axios
        • lib
          • axios // core
  • TOOLS
    • npm-packages
      • axios
        • lib
          • axios // helpers
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Basic Reducer Structure and State Shape
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Beyond combineReducers
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Immutable Update Patterns
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Initializing State
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Normalizing State Shape
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Prerequisite Reducer Concepts
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Refactoring Reducer Logic Using Functional Decomposition and Reducer Composition
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Reusing Reducer Logic
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Splitting Up Reducer Logic
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Managing Normalized Data
  • TOOLS
    • redux
      • docs
        • recipes
          • reducers
            • Using combineReducers
Powered by GitBook
On this page
  • How do I resolve this error?
  • Case: I just want a text label associated with an input.
  • Case: The label is a sibling of the control.
  • Case: My label and input components are custom components.
  • Case: I have two labels for the same input
  • How to manage IDs of input
  • Rule details
  • Fail
  • Succeed
  • Fail
  • Succeed

Was this helpful?

Edit on GitHub
  1. repos
  2. Redux Examples
  3. real-world
  4. node_modules
  5. eslint-plugin-jsx-a11y
  6. docs
  7. rules

label-has-associated-control

Enforce that a label tag has a text label and an associated control.

There are two supported ways to associate a label with a control:

  • Wrapping a control in a label tag.

  • Adding htmlFor to a label and assigning it a DOM ID string that indicates an input on the page.

This rule checks that any label tag (or an indicated custom component that will output a label tag) either (1) wraps an input element (or an indicated custom component that will output an input tag) or (2) has an htmlFor attribute and that the label tag has text content.

How do I resolve this error?

Case: I just want a text label associated with an input.

The simplest way to achieve an association between a label and an input is to wrap the input in the label.

<label>
  Surname
  <input type="text" />
</label>

All modern browsers and assistive technology will associate the label with the control.

Case: The label is a sibling of the control.

In this case, use htmlFor and an ID to associate the controls.

<label htmlFor={domId}>Surname</label>
<input type="text" id={domId} />

Case: My label and input components are custom components.

You can configure the rule to be aware of your custom components.

<CustomInputLabel label="Surname">
  <CustomInput type="text" value={value} />
</CustomInputLabel>

And the configuration:

{
  "rules": {
    "jsx-a11y/label-has-associated-control": [ 2, {
      "labelComponents": ["CustomInputLabel"],
      "labelAttributes": ["label"],
      "controlComponents": ["CustomInput"],
      "depth": 3,
    }],
  }
}

Case: I have two labels for the same input

If the second label is in a different part of the HTML, then the second one can only contain htmlFor but not nesting. You will probably need eslint override comment on the second label.

{/* eslint jsx-a11y/label-has-associated-control: ["error", { assert: "either" } ] */}
<label htmlFor="a">
  Username:
</label>
...
<label htmlFor="a">
  <input id="a" />
</label>

How to manage IDs of input

A common way to think of id with libraries like React is, ids should be avoided since it must be unique on the page, and components need to be reusable. Hence it is tempted to generate id during render-time if id is required. However:

IDs shouldn't be generated in the browser, so that server and client rendering are deterministic. Render-time uuids aren't just a hack, they're actually broken and should never be used.

To restate, every ID needs to be deterministic, on the server and the client, and guaranteed to be unique on the page. EG: For each input, a required ID prop can be passed down from as far up the tree as possible to guarantee uniqueness.

Rule details

This rule takes one optional object argument of type object:

{
  "rules": {
    "jsx-a11y/label-has-associated-control": [ 2, {
      "labelComponents": ["CustomLabel"],
      "labelAttributes": ["inputLabel"],
      "controlComponents": ["CustomInput"],
      "assert": "both",
      "depth": 3,
    }],
  }
}

labelComponents is a list of custom React Component names that should be checked for an associated control. labelAttributes is a list of attributes to check on the label component and its children for a label. Use this if you have a custom component that uses a string passed on a prop to render an HTML label, for example. controlComponents is a list of custom React Components names that will output an input element. assert asserts that the label has htmlFor, a nested label, both or either. Available options: 'htmlFor', 'nesting', 'both', 'either'. depth (default 2, max 25) is an integer that determines how deep within a JSXElement label the rule should look for text content or an element with a label to determine if the label element will have an accessible label.

Fail

function Foo(props) {
  return <label {...props} />
}

Succeed

function Foo(props) {
    const {
        htmlFor,
        ...otherProps
    } = props;

   return <label htmlFor={htmlFor} {...otherProps} />
}

Fail

<input type="text" />
<label>Surname</label>

Succeed

<label>
  <input type="text" />
  Surname
</label>
Previousinteractive-supports-focusNext[Deprecated] label-has-for

Last updated 3 years ago

Was this helpful?