Files
ramyasree 6dbec7e44f Added hints and solutions to Redux exercises (#35244)
* Added hints and solutions to Redux exercises

solution to Redux exercise: Copy an Object with Object.assign

* Added the full code for the solution
2019-03-01 14:53:43 -08:00

1.0 KiB

title
title
Copy an Object with Object.assign

Copy an Object with Object.assign

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

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.

Solution

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);