Skip to main content

Topic Learned!

 Topic Learned!

State :


State is updated whenever user want to update it.

Example : ToDo List

Props: 

        Props would be whatever the current state is!

useEffect:


         componentDidMount() {

          // Run This code while the app is loading

        Example fetchUser();

    }

Alternative For componentDidMount():

In functional components 

  //On Every Render
  useEffect(() => {
    console.log("I re-rendered");
  });

Alternative For componentDidMount() but runs only in first Render:

//On First Render/Mount - componentDidMount
  useEffect(() => {
    console.log("Component Is Mounted");
  }, []);

Alternative for componentDidUpdate():

//On First Render + whenever the component changes
  //componentDidUpdate alternative
  useEffect(() => {
    console.log(`The name changed! ${name}`);
    return () => {
      console.log("Component Unmounted!");
    };
  }, [name]);

Alternative for componentDidUnmount()/ Cleanup code to increase apps performance:

// componentWillUnmount alternative
  // Lifecycle func - when component unmounts/cleanup function
  useEffect(() => {
    console.log("Attached listener");
    window.addEventListener("resize", updateWindowWidth);
    return () => {
      console.log("Detached listener");
      window.removeEventListener("resize", updateWindowWidth);
    };

  });

Async Await: 

console.log("This is Async Mastery");

//Async asynchronous the function
async function mihir() {
  console.log("Inside mihir() function");
  //await will ask the execution to stop until the task gets executed
  //In this case fetching the api gets done
  // Go and finish line After Before calling mihir
  const response = await fetch("https://api.github.com/users");
  console.log("Before response");
  const users = await response.json();
  console.log("users resolved");
  return users;
}

console.log("Before calling mihir()");
let a = mihir();
console.log("After calling mihir()");
console.log(a);
a.then((data) => console.log(data));
console.log("Last Line of js file");












Comments

Popular posts from this blog

VERCEL DEPLOYMENT ERROR

 VERCEL DEPLOYMENT ERROR Options | NextAuth.js (next-auth.js.org) Step 1 : cmd $ openssl rand -base64 32 (Copy generated key) Step 2: Go to Project Environment Variables Add NEXTAUTH_SECRET : Key  Step 3: Redeploy

Advanced JS Notes

 Advanced JS Notes : Arrow Functions:  Code:  let sumIs = ( a , b ) => a + b console . log ( sumIs ); let randomIs = () => Math . random ; document . addEventListener ( 'click' , () => console . log ( "click" );) Spread Operator // Spread Operator arr = [ 1 , 3 , 1 ]; let sum = ( a , b ) => a + b ; let s = sum (... arr ); // console.log(s); arr2 = [ 2 , 5 , 5 ]; let b = [... arr , ... arr2 ]; //Concating arr using spread console . log ( b ); // Spread With Obj let obj1 = {   name : "Mihir" ,   age : 24 ,   favStar : "TrishCollins" , }; let obj2 = { ... obj1 , name : "Rahul" , favStar : "SRK" }; // Object manipulation using spread operator console . log ( obj2 );