import React from 'react'
import ReactDOM from 'react-dom'
import {createEffect, createStore, createEvent, sample} from 'effector'
import {useStore, useStoreMap} from 'effector-react'
const sendFormFx = createEffect(params => {
const submitted = createEvent()
const setField = createEvent()
const $form = createStore({}).on(setField, (s, {key, value}) => ({
const handleChange = setField.prepend(e => ({
const Field = ({name, type, label}) => {
const value = useStoreMap({
fn: values => values[name] || '',
<input name={name} type={type} value={value} onChange={handleChange} />
<form onSubmit={submitted}>
<Field name="login" label="Login" />
<Field name="password" type="password" label="Password" />
<button type="submit">Submit!</button>
ReactDOM.render(<App />, document.getElementById('root'))