Package Exports
- @react-hookz/web
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@react-hookz/web) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
React hooks done right, for browser and SSR.
@react-hookz/web is a library of general-purpose React hooks built with care and SSR compatibility
in mind.
Install
This one is pretty simple, everyone knows what to do:
npm i @react-hookz/web
# or
yarn add @react-hookz/webAs hooks was introduced to the world in React 16.8, @react-hookz/web requires - you gessed it
reactandreact-dom16.8+.
Also, as React does not support IE,@react-hookz/webdoes not do so either. You'll have to transpile yournode-modulesin order to run in IE.
Usage
This package provides three levels of compilation:
- Main, the
/cjsfolder — CommonJS modules, with ES5 lang level. - ESM, the
/esmfolder — it is ES modules (browser compatible), with ES5 lang level. - ESNext, the
/esnextfolder — it is ES modules (browser compatible), with ESNext lang level.
So, if you need the useMountEffect hook, depending on your needs, you can import in three ways
(there are actually more, but these are the three most common):
// in case you need cjs modules
import { useMountEffect } from "@react-hookz/web";
// in case you need esm modules
import { useMountEffect } from "@react-hookz/web/esm";
// in case you want all the recent ES features
import { useMountEffect } from "@react-hookz/web/esnext";Hooks list
Lifecycle
useConditionalEffect— LikeuseEffectbut callback invoked only if conditions match predicate.useConditionalUpdateEffect— LikeuseUpdateEffectbut callback invoked only if conditions match predicate.useFirstMountState— Return boolean that istrueonly on first render.useIsMounted— Returns function that yields current mount state.useMountEffect— Run effect only when component is first mounted.useRerender— Return callback that re-renders component.useUnmountEffect— Run effect only when component is unmounted.useUpdateEffect— Effect hook that ignores the first render (not invoked on mount).useIsomorphicLayoutEffect—useLayoutEffectfor browser with fallback touseEffectfor SSR.
State
useMediatedState— LikeuseState, but every value set is passed through a mediator function.usePrevious— Returns the value passed to the hook on previous render.useSafeState— LikeuseState, but its state setter is guarded against sets on unmounted component.useToggle— LikeuseState, but can only becometrueorfalse.
Navigator
useNetworkState— Tracks the state of browser's network connection.
