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

1.0 KiB

title
title
Copy an Object with Object.assign

Copy an Object with Object.assign


Problem Explanation

The goal of this challenge is to enforce state immutability when state is an object.


Hints

Hint 1

Use the method Object.assign({}, obj1, obj2) in return. Pass state as obj1.

Hint 2

The obj2 should be the updated {key: value} pair of your state.


Solutions

Solution 1 (Click to Show/Hide)
const defaultState = {
  user: "CamperBot",
  status: "offline",
  friends: "732,982",
  community: "freeCodeCamp"
};

const immutableReducer = (state = defaultState, action) => {
  switch (action.type) {
    case "ONLINE":
      // to enforce state immutability, return a new state object using Object.assign() method
      return Object.assign({}, state, { status: "online" });
    default:
      return state;
  }
};

const wakeUp = () => {
  return {
    type: "ONLINE"
  };
};

const store = Redux.createStore(immutableReducer);