Create minimalistic react components
Allows you to create thisless react components. With react >= 0.14
stateless function components are supported by react itself. But with react-mini
you can create statefull function components.
$ npm install --save react-mini
var React = require('react');
var mini = require('react-mini');
module.exports = mini( props => <h1>Title: {props.title}</h1> );
module.exports = mini( ({ title }) => <h1>Title: {title}</h1> );
module.exports = mini( ({ hidden = false, title }) => !hidden?<h1>Title: {title}</h1>:null );
module.exports = mini( ({ greet = 'Hi', name }) => <h1>{greet} {name}</h1> );
Create pure components using PureRenderMixin
var React = require('react');
var pure = require('react-mini/pure');
module.exports = pure( ({ title }) => <h1>Title: {title}</h1> );
var Counter = mini( ({ step = 1 } , { setState, state: { count } }) => {
var incCounter = () => setState({ count : count + step });
return <span>Counter: {count}<button onClick={incCounter}>+1</button></span>
}, { count: 10 }); // <= initialState
React.render(
<Counter step={10}/>,
document.body
)
mini(render:Function(props, component), [initialState:Object])
render
: This is the actual render function.props:Object
: The props of the componentcomponent:Object
: The component (this
)
initialState
: The initial state of the component.
- react-mini-this -
function HelloWorld({name}) { return <h1> Hello {name} </h1>; }::pure();
MIT © Christoph Hermann