JSPM

  • Created
  • Published
  • Downloads 43668
  • Score
    100M100P100Q139652F
  • 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/scope
  • 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 {useStore} from 'effector-react'

const inputText = createEvent()
const text = createStore('').on(inputText, (state, payload) => payload)

const size = createStore(0).on(inputText, (state, payload) => payload.length)

const form = combine({
  text,
  size,
})

const Form = () => {
  const {text, size} = useStore(form)
  return (
    <form>
      <input
        type="text"
        onChange={e => inputText(e.currentTarget.value)}
        value={text}
      />
      <p>Length: {size}</p>
    </form>
  )
}

Try it

useStore in docs createStore in docs combine in docs createEvent in docs