JSPM

  • Created
  • Published
  • Downloads 43668
  • Score
    100M100P100Q142080F
  • License MIT

React bindings for effector

Package Exports

  • effector-react
  • effector-react/compat
  • effector-react/effector-react.mjs
  • effector-react/effector-react.umd
  • effector-react/package.json
  • effector-react/scope
  • effector-react/scope.mjs
  • effector-react/ssr

Readme

effector-react

React bindings for effector

Installation

npm install --save effector effector-react

Or using yarn

yarn add effector effector-react

Usage

import {createStore, combine, createEvent} from 'effector'

import {useUnit} from 'effector-react'

const inputText = createEvent()

const $text = createStore('').on(inputText, (_, text) => text)

const $size = $text.map(text => text.length)

const Form = () => {
  const {text, size} = useUnit({
    text: $text,
    size: $size,
  })
  const handleTextChange = useUnit(inputText)

  return (
    <form>
      <input
        type="text"
        onChange={e => handleTextChange(e.currentTarget.value)}
        value={text}
      />
      <p>Length: {size}</p>
    </form>
  )
}

Try it

useUnit in docs Units in docs createStore in docs createEvent in docs