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

Convert React Native To Expo

Convert React Native To Expo Step 1: Add Into App.json   "expo" : {     "sdkVersion" : "44.0.0" ,     "name" : "AwesomeProject"   } Step 2: Add this into your package.json    "dependencies" : {     "expo" : "^33.0.7" ,     "react" : "17.0.2" ,     "react-native" : "0.67.2"   }, Step 3: Make your Index.js file look like this AppRegistry . registerComponent ( 'main' , () => App ); Step 4: Install expo in your project folder In terminal paste npm install --save expo / npm install (If necessary)

Using Same Firebase for Web App as well as Android App

Using Same Firebase for Web App as well as Android App Create Android app in that project go to project setting click on iso or android or web icon.  Go to authentication select Google then enable select email Get client id from web sdk - Create.env.local  GOOGLE_CLIENT_ID=259eklrjelkjr GOOGLE_CLIENT_SECRET=GOlkelkrjer NEXTAUTH_URL=https://localhost:3000 - Restart the server/app - Create folder in pages/auth/signin.js