Demo: https://pashaigood.github.io/react-component-redux/
Redux a great library, that's just too low-level for everyday use.
The idea is to simplify the usage and make the process of creating components as quickly as possible.
Example:
; // Inherit from the RCR component.Component /** * Write the initial state. */ state = counter: 1 name: 'friend' ; /** * Describe the component's actions list. */ actions = { return ...state name ; } { return ...state counter: statecounter + number ; } { return ...state counter: statecounter - number ; } ; // It's better to move this template to a external entity. // And don't have any render library relations. { const React = ; return <div> <h1>Hello thisstatename thisstatecounter times!</h1> <div className="form-group"> <input placeholder="Type your name..." className="form-control" type="text" value=thisstatename onChange= thisactions /> </div> <button className="btn btn-default" onClick= thisactions>+ </button> <button className="btn btn-default" onClick= thisactions>- </button> </div> ; }
And it's all the code!
We abstracted from low-level data management, which can always come back and got a smart component. No need to set no store, no need to write any actions or actionsCreators or reducers. Yes, of course, this approach is not universal, but it covers the simple use of Redux.
Want even more clean code? You are welcome!
// PureComponent.js;;; { return <div> <h2>Pure</h2> <pre onClick= >number || 'Click to see some random magic!'</pre> </div> ;} ;
// reducers.jsconst state = number: undefined; { return ...state number: Math ;}
Multiple use of components
Most Redux problem - component reuse. After the automation of the data, this problem is solved very simply.
Using a very simple, enough to give the instance its own name:
Thus is created a new repository other-instance, which can be referenced any number of new instances of a component.
More
Here's what a simple set of actions:
Here is the action:
The most interesting here is payload, which is essentially a list of parameters that are passed actions.doDecrement function.