Code Monkey home page Code Monkey logo

usereducer-refactor's Introduction

Reducer Counter

Learning Objectives

  • Use useReducer to manage complex application state
  • Use the dispatch function to dispatch actions to update state
  • Use a reducer function to update state
  • Use a switch statement to handle multiple conditions

Live Example

https://half-baked-reducer.netlify.app/

Description

For this deliverable, we'll be refactoring our counter app to use the userReducer hook. Currently our application is handling our state updates through the use of functions to increase and reset our counter

Your task is to take our app from updating the state with those functions to using the useReducer hook. The app is currently fully tested and the tests are working with current code. After refactoring your tests should continue to work with no changes.

Use the template to start your project.

Acceptance Criteria

  • Existing tests are passing and should continue to pass after refactoring
  • Users should be able to increment the counter with button click
  • Users should be able to decrement counter with button click
  • Users should be able to reset the counter with a button click

Rubric

Tasks Points
Use the useReducer hook to manage counter state 2
Create a reducer function to handle state changes 2
Use a switch statement inside of your reducer 2
Use the dispatch function to update state 2
Set an initial value for useReducer 2

usereducer-refactor's People

Contributors

forestheims avatar

Watchers

 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.