Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@rooks/use-input

imbhargav5912MIT4.11.2TypeScript support: included

A React Hooks package for input

use, input, react-hooks.org, react, rooks, input hook

readme

@rooks/use-input

Note: Future updates to this package have moved to the main package rooks. All hooks now reside in a single package which you can install using

npm install rooks

or

yarn add rooks

Rooks is completely treeshakeable and if you use only 1 of the 50+ hooks in the package, only that hook will be bundled with your code. Your bundle will only contain the hooks that you need. Cheers!

TitleCard

Build Status

About

Input hook for React.

Installation

npm install --save @rooks/use-input

Importing the hook

import useInput from "@rooks/use-input"

Usage

Base

function Demo() {
  const myInput = useInput("hello");
  return (
    <div>
      <input {...myInput} />
      <p>
        Value is <b>{myInput.value}</b>
      </p>
    </div>
  );
}

render(<Demo/>)

With optional validator

function Demo() {
  const myInput = useInput("hello", {
    validate: (newValue) => newValue.length < 15
  });
  return (
    <div>
      <p> Max length 15 </p>
      <input {...myInput} />
      <p>
        Value is <b>{myInput.value}</b>
      </p>
    </div>
  );
}

render(<Demo/>)

Arguments

Argument Type Description Default value
initialValue string Initial value of the string ""
opts object Options {}

Options

Option key Type Description Default value
validate function Validator function which receives changed valued before update as well as current value and should return true or false undefined

Return value

Return value Type Description
{value, onChange} Object Object containing {value : "String", onChange: "function that accepts an event and updates the value of the string"}

changelog

v3.6.0-canary.0 (2019-12-25)

:rocket: New Feature

  • fullscreen, storybook

:house: Internal

  • boundingclientrect-ref, countdown, docusaurus, fork-ref, geolocation, intersection-observer-ref, isomorphic-effect, mutation-observer-ref, outside-click-ref
  • Other

:memo: Documentation

v3.5.1 (2019-12-18)

:memo: Documentation

:house: Internal

3.4.3

  • Added new useCountdown hook

3.4.2

  • Fix types for useOutsideClickRef hook
  • Internal bug fixes

v3.4.0

  • New useBoundingclientrectRef hook
  • New useForkRef hook
  • New useOutsideClickRef hook
  • New useIsomorphicEffect hook
  • New useMutationObserverRef hook
  • New useIntersectionObserverRef hook
  • Minor bug fixes

v3.3.0

  • New useGeolocation hook
  • New useThrottle hook
  • Minor bug fixes

v3.2.2

  • Fix a minor bug in useKeys

v3.2.0

  • New hooks added

    • useOnWindowResize
    • useOnWindowScroll
    • useKeys
  • Allow localStorage and sessionStorage to store all kinds of values.

v3.1

  • New hook added useDebounce

v3

  • Critical bug with useKey with refs not detected was fixed
  • useWindowSize now returns innerHeight, innerWidth, outerHeight and outerWidth. It no longer returns height and width which were ambiguous.
  • useWorker has a new signature.
  • useInterval had issues with useState which have been resolved
  • usePrevious has a much simpler implementation using useRef
  • typescript types have been added to all the hooks
  • Storybook website has been added
  • Uniform major package version for all packages. It makes development easier and it also helps tracking compatibility.

v2

  • useToggle v2.0.0 Return value is now an array with two values instead of an object

Older

  • useInterval

    -1.1.1 (2019-01-20)

  • useOutsideClick

    • Fix SSR bug introduced
    • Also look for touch listeners now
  • rooks