React bindings for Almin.
Install with npm:
npm install almin-react-container
It create container component that is wrap component
.
The component
can receive context.getState
of Almin via this.props
.
import React from "react";
import ReactDOM from "react-dom";
import AlminReactContainer from "almin-react-container";
import { Dispatcher, Context, Store } from "almin";
// Store
class MyState {
constructor({value}) {
this.value = value;
}
}
class MyStore extends Store {
constructor() {
super();
this.state = new MyState({
value: "Hello World!"
});
}
getState() {
return {
myState: this.state
};
}
}
// Context
const context = new Context({
dispatcher: new Dispatcher(),
store: new MyStore()
});
// context.getState();
/*
{
myState
}
*/
// View
class App extends React.Component {
render() {
// this.props has the same with `context.getState()`
return <div>{this.props.myState.value}</div>
}
}
// Create Container
const RootContainer = AlminReactContainer.create(App, context);
// Render Container
ReactDOM.render(<RootContainer />, document.getElementById("js-app"));
See Example/
See Releases page.
Install devDependencies and Run npm test
:
npm i -d && npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT © azu