bhushan354 / Space-Travelers-Project

In this project, Me and my Coding Partner worked with the real live data from the SpaceX API. In which , we have built a web application for a company that provides commercial and scientific space travel services. The application will allow users to book rockets and join selected space missions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[3pt] Implement mission joining - Actions

bhushan354 opened this issue · comments

  • When a user clicks the "Join Mission" button, action needs to be dispatched to update the store. You need to get the ID of the selected mission and update the state. Remember you mustn't mutate the state. Instead, you need to return a new state object with all missions, but the selected mission will have an extra key reserved with its value set to true. You could use a JS filter() or map() to set the value of the new state - i.e.:
const newState = state.map(rocket => {
    if(mission.id !== id) 
        return mission;
    return { ...mission, reserved: true };
});
  • Regardless of which method you choose, make sure you place all your logic in the reducer. In the React view file, you should only dispatch the action with the correct rocket ID as an argument.