@cerebral/inferno
Inferno view for Cerebral.
Install
npm install @cerebral/inferno inferno inferno-component inferno-create-element babel-plugin-inferno
Container
import Inferno from 'inferno'
import {Controller} from 'cerebral'
import {Container} from '@cerebral/inferno'
import App from './App'
const controller = Controller({
state: {
foo: 'bar'
},
signals: {
clicked: []
}
})
Inferno.render((
<Container controller={controller}>
<App />
</Container>
), document.querySelector('#app'))
connect
import Inferno from 'inferno'
import Component from 'inferno-component'
import {connect} from '@cerebral/inferno'
import {state, signal} from 'cerebral/tags'
export default connect({
foo: state`foo`,
click: signal`clicked`
},
function MyComponent ({foo, click}) {
return <div onClick={() => click()}>{foo}</div>
}
)
export default connect({
foo: state`foo`,
click: signal`clicked`
},
class MyComponent extends Component {
render () {
return <div onClick={() => this.props.click()}>{this.props.foo}</div>
}
}
)