Giter VIP home page Giter VIP logo

advanced-redux-practice's Introduction

Reducers

  • Create a new folder called reducers
  • Create a file in this folder called index.js
  • Import combineReducers from redux
  • Create a reducer function for each piece of data in state.js
    • newComments
    • newTasks
    • newOrders
    • tickets
    • orders
    • tasks
    • messages
  • Remember 2 parameters state and action. Remember to return state
  • Combine the reducers and export

Create Database

  • Create a store.js file
  • Import createStore from redux
  • Import state from state.js
  • Import reducers from reducers/index
  • Create the store and export it

Provide store to components

  • In index.js
  • Import Provider from react-redux
  • Import store from store.js
  • Use Provider component to wrap App
  • Give Provider a prop “store” and the value of the store

Create Containers

  • In each Container:
  • Import connect from react-redux
  • Create a function called mapStateToProps that takes parameter state
  • Return an object. Decide what prop the component needs and this will be a key on the object
  • Decide what data from state the component needs and that will be the value on the object
  • Use the connect function and mapStateToProps to turn the component into a container
  • Export the container

ONLY make these components into Containers

  • Tickets (use as example)
  • TransactionPanel
  • TopNav
  • TasksPanel
  • Comments
  • Orders
  • Tasks

Think - Why do the other components not care about the database such that we don't need to make them Containers??

Fix

  • In App.js remove the props parameter and all instances of passing props
  • In index.js remove all instances of state and passing props to App

advanced-redux-practice's People

Contributors

jw56578 avatar mymonstermaggie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.