Files
Randell Dawson 1494a50123 fix(guide): restructure curriculum guide articles (#36501)
* fix: restructure certifications guide articles
* fix: added 3 dashes line before prob expl
* fix: added 3 dashes line before hints
* fix: added 3 dashes line before solutions
2019-07-24 13:29:27 +05:30

41 lines
992 B
Markdown

---
title: Extract State Logic to Redux
---
# Extract State Logic to Redux
---
## Solutions
<details><summary>Solution 1 (Click to Show/Hide)</summary>
```javascript
// define ADD, addMessage(), messageReducer(), and store here:
const ADD = "ADD";
const addMessage = message => {
return {
type: ADD,
message
};
};
// Use ES6 default paramter to give the 'previousState' parameter an initial value.
const messageReducer = (previousState = [], action) => {
// Use switch statement to lay out the reducer logic in response to different action type
switch (action.type) {
case ADD:
// Use ES6 spread operator to return a new array where the new message is added to previousState
return [...previousState, action.message];
break;
default:
// A default case to fall back on in case if the update to Redux store is not for this specific state.
return previousState;
}
};
const store = Redux.createStore(messageReducer);
```
</details>