Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions decks/react-events-state/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import dataFlow from './02-react-state-and-data-flow.mdx'
import classBased from './03-class-based-components.mdx';
import stateExercise from './stateful-component-exercise.mdx'
import lifeCycle from './04-react-life-cycle.mdx';
import hooks from './06-hooks.mdx'
import hooksAdvanced from './07-hooks-advanced.mdx'

import dataFetch from './05-data-fetch.mdx'
import dataFetchE from './99-data-fetch-exercises.mdx';

Expand All @@ -17,7 +16,5 @@ export default [
...stateExercise,
...lifeCycle,
...dataFetch,
...hooks,
...dataFetchE,
...hooksAdvanced
...dataFetchE
]
4 changes: 4 additions & 0 deletions decks/react-hooks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist

.idea
32 changes: 32 additions & 0 deletions decks/react-hooks/00-intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

import { FullScreenCode, Invert } from "mdx-deck/layouts";
import { CodeSurfer } from "mdx-deck-code-surfer"
import nightOwl from "prism-react-renderer/themes/nightOwl"

export default Invert

# React Hooks

---

## Hooks

- A brand-new feature in React
- Allows you to create stateful components without classes
- Replaces setState and lifecycle methods

---

## What are Hooks?

- Functions you import from React
- Usable in any kind of component
- Can be used multiple times per component

---

## Why use Hooks?

- Avoids issues with JavaScript classes
- Tends to require less code
- Helps avoid replication
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,7 @@ const BRANCH_NAME = 'master'; // tood: change before merge

export default Invert

# Hooks

---

## Hooks

- A brand-new feature in React
- Allows you to create stateful components without classes
- Replaces setState and lifecycle methods

---

## What are Hooks?

- Functions you import from React
- Usable in any kind of component
- Can be used multiple times per component

---

## Why use Hooks?

- Avoids issues with JavaScript classes
- Tends to require less code
- Helps avoid replication
# useState

---

Expand Down
18 changes: 18 additions & 0 deletions decks/react-hooks/02-use-reducer.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { FullScreenCode, Split, SplitRight, Invert } from "mdx-deck/layouts";
import { Head, Appear, Image, withDeck } from 'mdx-deck'
import { CodeSurfer } from "mdx-deck-code-surfer"
import nightOwl from "prism-react-renderer/themes/nightOwl"

import ReplIt from "../../components/replit";
import CodeSandbox from "../../components/codesandbox";
import ImageSplit from "../../components/ImageSplit";
import Box from "../../components/Box";
const BRANCH_NAME = 'master'; // tood: change before merge

export default Invert

# useReducer

---

* TODO
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ const BRANCH_NAME = 'master'; // tood: change before merge

export default Invert

# Hooks - Advanced
# useEffect

---

## `useEffect` Hook
- Can replace componentWillUpdate + componentDidMount
Expand Down
Empty file.
7 changes: 7 additions & 0 deletions decks/react-hooks/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import intro from './00-intro.mdx';
import useState from './01-use-state.mdx';
import useReducer from './02-use-reducer.mdx';
import useEffect from './03-use-effect.mdx';

export { default as theme } from '../../theme'
export default [ ...intro, ...useState, ...useReducer, ...useEffect]
28 changes: 28 additions & 0 deletions decks/react-hooks/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"private": true,
"name": "react-hooks-deck",
"version": "1.0.0",
"scripts": {
"start": "mdx-deck index.js",
"build": "yarn run now-build",
"build:presentation": "mdx-deck build index.js --no-html ",
"build:images": "cp -r images dist/",
"build:assets": "cp -r snippets dist/",
"now-build": "yarn run build:presentation && yarn run build:images && yarn run build:assets",
"deploy": "now"
},
"devDependencies": {
"ajv": "6.8.1",
"mdx-deck": "1.8.2",
"mdx-deck-code-surfer": "0.5.5",
"prism-react-renderer": "^0.1.6",
"raw-loader": "1.0.0"
},
"dependencies": {
"@researchgate/react-intersection-observer": "^0.7.4",
"intersection-observer": "^0.5.1",
"mdx-code": "^1.1.3",
"mdx-deck-live-code": "^1.0.1",
"react-syntax-highlighter": "^10.1.3"
}
}
11 changes: 11 additions & 0 deletions decks/react-hooks/readme.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# React Hooks

Training Deck for React Hooks

To run deck from root of repo:

`yarn workspace react-hooks-deck start`

If in react-hooks folder,

`yarn start`
Empty file.