JS-201-ReactFundamentals
  • Part 0: App Overview
  • Part 1: Intro to React
    • 1.0: Packages Setup
    • 1.1: Project Setup
    • 1.2: React Router Dom
  • Part 2: JavaScript Concepts
    • 2.0: ES6 Overview
    • 2.1: classes
    • 2.2: constructors
    • 2.3: extends
    • 2.4: super
    • 2.5: interpolation
    • 2.6: map
    • 2.7: filter
  • Part 3: Functional Components
    • 3.0: Functional Components Overview
    • 3.1: Calling Functional Components
    • 3.2: Single Element Rule
    • 3.3: Arrow Functions
    • 3.4: Challenge
    • 3.4: Solution
    • 3.5: Challenge 2
    • 3.5: Solution 2
  • Part 4: JSX Challenge
    • 4.1: JSX Overview
    • 4.1: Challenge Answer
    • 4.2: className
  • Part 5: Class Concepts
    • 5.1: State
    • 5.2: setState
    • 5.3: Class Components Challenge
    • 5.4: Class Components Challenge Answer
  • Part 6: Props Starter
    • 6.0: Props Overview
    • 6.1: Props Demo and Challenge 1
    • 6.2: Props Answer 2
    • 6.3: Props Passing Functions and Challenge 2
    • 6.4: Props Answer 2
    • 6.5: External Props and Mapping Components
    • 6.6: PropTypes
  • Part 7: Lifecycle Methods
    • 7.0: Lifecycle Overview
    • 7.1: Lifecycle Methods
    • 7.2: Mounting Methods
    • 7.3: Update Methods
    • 7.4: Unmount Methods
  • Part 8: Apps
    • 1.0 - Small Timer Apps
      • 1.1 - Simple Timer
      • 1.2 - Clock App
      • 1.3 - Stop Watch App
      • 1.4 - Challenge
    • 2.0 - Concept List
      • 2.1 - Concept Data
      • 2.2 - Concept App Component
      • 2.3 - Concept Component
      • 2.4 - Concept List Component
    • 3.0 - NYT
      • 3.1 - NytApp Component
      • 3.2 - Nyt Results
    • 4.0 - The Friend List App
      • 4.1 - Friend List App Component
      • 4.2 - Friend Component
    • 5.0 - Movie Search Application
      • 5.1 - Form Component
      • 5.2 - Form Results Component
      • 5.3 - Styled Components
    • 6.0 - YouTube Api
      • 6.1 - Video Component
      • 6.2 - Video Component
      • 6.3 - Video Component
    • 7.0 - Github Api Application
      • 7.1 - The Users
      • 7.2 - Github API Component
      • 7.3 - Github API Card
      • 7.4 - Github API Card Form
      • 7.5 - Github API Card List
      • 7.6 - Github API Search
      • 7.7 - Github API Challenge
    • 8.0 - Bitcoin Api Application
      • 8.1 - Bitcoin API Setup
      • 8.2 - Bitcoin API Fetch
      • 8.3 - Bitcoin API Line Chart
      • 8.4 - Bitcoin API Fetching Data
      • 8.5 - Bitcoin API Info Box
      • 8.6 - Bitcoin API Completed Code
    • 9.0 - Google Maps Api Challenge
    • 10.0 - Sound Cloud App Challenge
    • 11.0 - VR App Challenge
    • 12.0 - React Native Intro
  • Part 9: Project
  • Part 10: Notes
    • 10.1 - Resources
    • 10.2 - Troubleshooting
Powered by GitBook
On this page
  • What We're Going to Build & Learn
  • Getting Started
  • Folder structure
  • Basic Component
  1. Part 8: Apps

2.0 - Concept List

Our next app will be a little twist on a typical to do list application, with a focus on keeping track of your progress of understanding React components.

What We're Going to Build & Learn

  • A list app where you can add items and cross them off when they're done

  • More about state and life cycle methods.

  • More about functional components and ES6

Getting Started

To get started, we need to set up our routing to be able to access the application and our folder structure.bbInside of Sidebar.js insert the following link:

<li><Link to="/reactconceptlist">React Concepts Checklist</Link></li>

In Sidebar.js add the following route:

<Route exact path="/reactconceptlist"><ReactConceptsApp /></Route>

Don't forget to add the import for the component!

import ReactConceptsApp from '../apps/concept-list-app/ReactConceptsApp';

Folder structure

Now, in our folder structure we need to create a folder for our app. Underneath (and outside of) your timer-apps folder, create a new folder called concept-list-app.

    └── src
        └── assets
        └── components
                └── apps
                    └── concept-list-app
                         └── Concept.js
                         └── ConceptList.js
                         └── concepts.js
                         └── NewConcept.js
                         └── ReactConceptsApp.js
                    └── timer-apps

Inside of this folder, we're going to start with creating our parent component for our app called ReactConceptsApp.js.

Basic Component

Set up the basic component by typing out the following code:

import React, { Component }  from 'react';

export default class ReactConceptsApp extends Component {
    render() {
        return (
            <div className="main">
                <div className="mainDiv">
                    <h1>Concept List App</h1>
                    <p>Use the list below to toggle concepts that you do or do not understand. Note that this will update when you refresh the page.</p>
                </div>
            </div>
        );
    }
}

Next, we're going to set up the data for the concepts that we want to include in our app!

Previous1.4 - ChallengeNext2.1 - Concept Data

Last updated 7 years ago

Concept Data