Checkli

Template

Reactjs workshop

What I will teach in 6 hours of react github.com/ghndr/react-cart-workshop

Template

[15m] Ice breaking

[03m] Libraries vs frameworks

[05m] React and Angular comparison, maybe bring in VueJS (pros and cons)

[01m] Organizations that use react

[20m] Setting up the development environment

[05m] Installing create-react-app globally

[07m] creating a project with create-react-app

[05m] breaking down the existing folders and files (package.json, node_modules, public...)

[03m] Running the project

 [05m] Types and behaviour of tags in react (self closing, paired tags, children..)

[03m] Modifying the src/App.js and view the changes.

[03m] breaking down the src/index.js

[05m] What is a component (breaking down LinkedIn's feed components)

[05m] Breaking down the component ( imports, render()...)

[05m] What is the state and how do we use it ?

[05m] Adding some state to src/Apps.js and explaining what the `this` keyword refers to

[02m] Declaring a variable and using it inside the jsx

[03m] Talking about `let` and  ES6/7..

 Introducing `<React.Fragment></React.Fragment>`

[02m] Presenting the project that we are going to build in 6 hours (a shopping list)

[03m] They will then break down the project into components.

Start the project

[02m] Setting a folder/file structure

[06m] Creating all the component folders and files

[10m] Installing and importing bootstrap 4

[25m] Coding the first component Appbar.jsx

Prepare the basic Component code

Grab some navbar code from the bootstrap docs.

the Ctrl+D trick to replace all every class with className

 **************************** DAY TWO ***********************************

[25m] Coding the the next component (ProductList.jsx)

Introducing `<React.Fragment></React.Fragment>`

Introducing Arrow functions

Introducing the `.map()` function

[15m] Coding the next component (Product.jsx, still no props yet, a static component to display foreach element in the products array in ProductList.jsx)

 [15m] Introducing Styling in react, (scoped styling, global styling, in js styling, no js styling)

[03m] Fix the proudctList.jsx styling (add `display: flex` make the parent div compatible with bootstrap)

Introducing Styling in react, (scoped styling, global styling, in js styling, no js styling)

 [05m] Introducing props

[02m] Pass the ProductList Array via props to each Product

[05m] Introducing the `key` prop

[10m] Accessing the props from `this.props.product` and using them to fill our product.

[03m] Adding state to src/App.jsx for the cart

Creating the `handleAddToCart` method (make it replace the current cart items)

Iterating through the cart and displaying the content on the App.js temporarily

Passing the `handleAddToCart` method down to the Product.jsx child

Fixing the `handleAddToCart` by making it append items instead of replacing them

Passing down the cart.length to the Appbar to visualise the number of cart items through the badge

In

Introducing props

This creates a private checklist in your account.