Inferno view for Cerebral.
npm install @cerebral/inferno inferno babel-plugin-inferno
import { render } from 'inferno'
import App from 'cerebral'
import { Container } from '@cerebral/inferno'
import AppComponent from './components/AppComponent'
import main from './main'
const app = App(main)
render(
<Container app={app}>
<AppComponent />
</Container>,
document.querySelector('#app')
)
import { connect } from '@cerebral/inferno'
import { state, sequences } from 'cerebral'
export default connect(
{
foo: state`foo`,
onClick: sequences`onClick`
},
function MyComponent({ foo, onClick }) {
return <div onClick={() => onClick()}>{foo}</div>
}
)
import { Component } from 'inferno'
import { connect } from '@cerebral/inferno'
import { state, sequences } from 'cerebral'
export default connect(
{
foo: state`foo`,
onClick: sequences`onClick`
},
class MyComponent extends Component {
render() {
const { foo, onClick } = this.props
return <div onClick={() => onClick()}>{foo}</div>
}
}
)
import { connect } from '@cerebral/inferno'
import { state, sequences } from 'cerebral'
export default connect(
{
foo: state`some.path.${state`someOtherPath`}`,
bar: state`some.path.${props`propKey`}`,
onClick: sequences`onClick`
},
function MyComponent({ foo, bar, onClick }) {
return (
<div onClick={() => onClick()}>
{foo} - {bar}
</div>
)
}
)