* 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
		
			
				
	
	
	
		
			1.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			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);