npm i noux --save
Noux is a stupidly written component container rather than a state container. Because it stores the whole "this" (stupid idea, right?). Noux uses Pub/Sub pattern (PubSubJS). It is not a replacement for Redux like advanced libraries. Please be aware that this is not a production ready library.
Check the live demo.
Import and declare Noux in your main component.
import noux from 'noux';
class Main extends Component {
constructor() {
super();
this.noux = new noux({
log: false // Optional [default: true]
});
}
}
Initialize Noux in every new component.
class SubComponent extends Component {
constructor(props) {
super();
this.noux = props.noux;
this.noux.init({
name: 'SubComponent',
self: this
});
}
}
Pass Noux into new components as props.
<SubComponent noux={this.noux}/>
To initialize Noux you have to call "noux.init" function. You can use this in any component.
this.noux.init({
name: '<current_component_name>',
self: this
});
Get the value of a specific state from the component.
this.noux.state({
target: "<component_name>",
state: "<state_name>"
})
this.noux.state({
target: "<component_name>",
state: ["<state_one>", "<state_two>", "<state_three>"]
})
Set the value of a specific state from the component.
this.noux.setState({
target: "<component_name>",
state: "<state_name>",
value: "<state_value>"
});
Get the all connected components and states as object.
this.noux.all()
Remove the connected component from Noux.
this.noux.revoke({
target: "<component_name>"
})
- Fork the project.
- Make your feature addition or bug fix.
- Send me a pull request.