From f0bf80835e823d9fbba41ff56d071a40af78aad9 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Thu, 8 Feb 2024 00:28:23 +0530 Subject: Slides Content Updated * Adds useContext * Adds useReducer --- src/slides.svelte | 353 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 346 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/slides.svelte b/src/slides.svelte index fe5582b..3be07cd 100644 --- a/src/slides.svelte +++ b/src/slides.svelte @@ -10,6 +10,7 @@ } from '@components' import { signal } from '@motion' import StateNotes from "./notes/state.notes.svelte" + import useReducerImg from "@assets/useReducer.png"; const circle = signal( { x: 0, y: 200, r: 80, fill: '#00ffff' }, @@ -169,6 +170,9 @@ + +

useEffect

+

useEffect

@@ -182,7 +186,7 @@
-

useEffect

+

useEffect

{` @@ -195,7 +199,7 @@
-

useEffect

+

useEffect

{` @@ -208,7 +212,7 @@
-

useEffect

+

useEffect

{` @@ -220,7 +224,7 @@
-

useEffect

+

useEffect

{` @@ -232,7 +236,7 @@
-

useEffect

+

useEffect

{` @@ -244,7 +248,7 @@
-

useEffect

+

useEffect

{` @@ -257,7 +261,7 @@
-

useEffect

+

useEffect

{` @@ -282,4 +286,339 @@ + +

useContext

+
+ +

useContext

+
+ + {` + import { createContext, useContext, useState } from 'react'; + + const AppContext = createContext(null); + `} + +
+
+ +

useContext

+
+ + {` + import React, { createContext, useContext, useState } from 'react'; + + export const AppContext = createContext(null); + + export default function MyApp() { + const [someState, setSomeState] = useState('hello'); + return ( + <> + + + + + + ) + } + `} + +
+
+ +

useContext

+
+ + {` + import React, { useContext, useState } from 'react'; + + import {AppContext} from "./MyApp"; + + export default function MyComponent() { + const appContext = useContext(AppContext) + return ( +
{appContext}
+ ) + } + `} +
+
+
+ +

useContext

+
+ + {` + import React, { useContext, useState } from 'react'; + + import {AppContext} from "./MyApp"; + + export default function MyComponent() { + const appContext = useContext(AppContext) + return ( +
{appContext}
+ ) + } + `} +
+
+
+ +

useReducer

+
+ +

useReducer

+ +
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + data: "Switch on" + } + } else if(action.type === "of") { + return { + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + data: "Switch on" + } + } else if(action.type === "of") { + return { + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + data: "Switch on" + } + } else if(action.type === "of") { + return { + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + data: "Switch on" + } + } else if(action.type === "of") { + return { + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + ...state, + data: "Switch on", + } + } else if(action.type === "of") { + return { + ...state, + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
+ +

useReducer

+
+ + {` + import {useReducer} from "react"; + + function myReducer(state, action) { + if(action.type === "on") { + return { + ...state, + data: "Switch on", + } + } else if(action.type === "of") { + return { + ...state, + data: "Switch Off" + } + } + } + + export function MyComponent(props) { + const [state, dispatch] = useReducer(myReducer, {}); + + function onSwitchToggle(status) { + dispatch({ + type: status + }) + } + + return( +
+ + +
+ ) + + } + `} +
+
+
-- cgit v1.2.3