0.4.0 • Published 7 years ago
cycle-component v0.4.0
cycle-component
Easy, isolated MVI components for Cycle.js without boilerplate
Examples
A simple component can be defined by passing in a main
function to component
.
import component from 'cycle-component'
import { button } from '@cycle/dom'
export default component(sources => ({
DOM: sources.props.map(props => button({ attrs: props })),
click: sources.DOM.select('button').events('click')
}))
More complex components—or just stricter MVI components—can be defined by passing component
an object with optional intent
, model
, view
, and sinks
functions.
import component from 'cycle-component'
import { button } from '@cycle/dom'
export default component({
intent: sources => ({
click$: sources.DOM.select('button').events('click'),
props$: sources.props
}),
model: actions => actions.props$
.map(props => ({ props })),
view: state => button({ attrs: state.props }),
sinks: ({ actions, vdom$ }) => ({
DOM: vdom$,
click: actions.click$
})
})
0.4.0
7 years ago
0.3.0
8 years ago
0.3.0-pre.2
8 years ago
0.3.0-pre.1
8 years ago
0.2.0
8 years ago
0.1.0
8 years ago