An action dispatcher for React that provides for unidirectional dataflows. Intended to be very small and provide a small amount of cognative overhead in providing an "actions up, data down" type model for React. Built on top of barracks.
const React = require('react')
const ReactDOM = require('react-dom')
const bearact = require('./')
const model = {
namespace: 'example',
state: {
hello: ''
},
reducers: {
setHello: (state, data) => ({hello: data.value})
}
}
const Main = React.createClass({
handleChange: function (evt) {
this.props.send('setHello', {value: evt.target.value})
},
render: function () {
return React.createElement('div', {}, [
React.createElement('h1', {}, `Hello, ${this.props.model.hello}`),
React.createElement('br', {}, null),
React.createElement('input', {value: this.props.model.hello, onChange: (evt) => this.handleChange(evt)}, null)])
}
})
const main = React.createElement(bearact(Main, model))
const mount = document.createElement('div')
document.body.appendChild(mount)
ReactDOM.render(main, mount)
Copyright © 2016 Scripto, licenced under the Apache-2.0 license