@jsxtools/create-context-state
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

create-context-state

npm version build status issue tracker pull requests

create-context-state lets you create context states sharable across components in React.

It is 231 bytes (184 gzipped).

Installation

npm install @jsxtools/create-context-state

Usage

// state.js creates a sharable state
import createContextState from '@jsxtools/create-context-state';

const [useState, Provider] = createContextState({
  givenName: 'Ellen',
  familyName: 'Ripley'
});

export { useState, Provider };
// MyApp.js binds that state to the context of a React DOM tree
import { Provider } from './state.js';

export default function MyApp() {
  return (
    <Provider>
      <MyComponent />
    </Provider>
  );
}
// MyComponent.js uses the sharable state in the context of its React DOM tree
import { useState } from './state.js';

export default function MyComponent() {
  let [state, setState] = useState();

  return (
    <form>
      <p>
        <label>
          Given Name
          <input
            defaultValue={state.givenName}
            onInput={event => setState(event.target.value)}
          />
        </label>
      </p>
      <p>
        <label>
          Family Name
          <input
            defaultValue={state.familyName}
            onInput={event => setState(event.target.value)}
          />
        </label>
      </p>
    </form>
  );
}

Readme

Keywords

none

Package Sidebar

Install

npm i @jsxtools/create-context-state

Weekly Downloads

11

Version

1.0.4

License

CC0-1.0

Unpacked Size

11.2 kB

Total Files

7

Last publish

Collaborators

  • jonathantneal