קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ כללי ♦ מדריך ריאקט – react hooks | useEffect

מדריך ריאקט – react hooks | useEffect

וינר יאיר 10 בספטמבר 2021 2 תגובות

הוק חשוב מאד במימוש functional components הוא useEffect , מי שמכיר עבודה עם קלאסים בריאקט מכיר את המטודות של לייף סייקל למשל componentDidMount.

מה עושים עם useEffect?

useEffect מנהלת את ה side effects של הקומפוננטה. כמה שימושים נפוצים ואך עיקריים עם useEffect הם שאפשרות הרצה של קוד ברגע שיש שינוי כל כשלהו של מידע ברכיב, הרצה של קוד כשהרכיב עולה לDOM או לחילופין שהרכיב עוזב את הDOM. להלן דוגמה של שימוש ב useEffect :

import React, { useState ,useEffect } from 'react';

function CountCrocs() {
  // Declare a new state variable, which we'll call "count"
  const [totalCrocs, addCrocs] = useState(0);
	useEffect(()=>{
    document.title =`You have got ${totalCrocs} crocs`;
      return ()=>{
      console.log('there is no more crocs');
      }
    },[]);
  return (
    <div>
      <p>תנינים ברשת {count} יש לך </p>
      <button onClick={() => addCrocs(totalCrocs + 1)}>
        תפוס תנין
      </button>
    </div>
  );
}

שימוש עיקרי המתואר פה מאפשר לנו כמה שימושים חיוניים, למשל:

  • ראשית , הקוד שנמצא בתוך useEffect ירוץ פעם אחת לאחר שהרכיב נטען, במידה בהוספנו בקצהו מערך רייק, ראו שורה 8, שכן מאוכלסת עם משתנה , כלומר הקוד שבתוך useEffect ירוץ כל שינוי שיהיה ב totalCrocs. במידה והוספתי משתנים נוספים הקוד ירוץ במידה ויהיה שינוי באחד ממשתנים אלו.
  • בהמשך לסעיף הקודם, במידה ולא נוסיף מערך כלל, הקוד שבתוך useEffect ירוץ בכל שינוי ברכיב.
  • useEffect משמש אותנו בחלק גדול מאד מהמקרים לבצע fetch . בתוך useEffect תוכלו לנהל פונקיות אסינכרוניות.
  • return – של useEffect מאפשר לנו להריץ קוד כשהפונקציה עוזבת את הDOM .

קיימת האפשרות להשתמש בכמה useEffect באותו רכיב למשל במקרה שתרצו לעדכן רכיב לפי משתנה מסויים וכן שיופיע return באפליקציה ולא תרצו שהוא ירוץ כל פעם גם כן , תוכלו להשתמש בשיטה הבאה:

import React, { useState ,useEffect } from 'react';

function CountCrocs() {
  // Declare a new state variable, which we'll call "count"
  const [totalCrocs, addCrocs] = useState(0);
	useEffect(()=>{
    document.title =`You have got ${totalCrocs} crocs`;
    },[totalCrocs]);
  
  useEffect(()=>{
     return ()=>{
      console.log('there is no more crocs');
      }
    },[]);
  return (
    <div>
      <p>תנינים ברשת {count} יש לך </p>
      <button onClick={() => addCrocs(totalCrocs + 1)}>
        תפוס תנין
      </button>
    </div>
  );
}

לסיכום useEffect

יש האומרים ש useEffect הוא ה HOOK הכי חשוב מבין כל ההוקים , וכן סביר להניח שכמעט כל רכיב שלכם יעשה שימוש ב useEffect (רכיבים שמנהלים דטה כמובן) . נמשיך במדריך HOOKS לפוסט הבא והפעם : useContext

פוסטים קשורים:

מדריך ריאקט useState hookמדריך ריאקט – react hooks | useState מדריך ריאקט – classes, functional component & hooks מדריך react | ריאקט | איך מעבירים מידע בין קומפננטות באמצעות propsמדריך react | ריאקט | איך מעבירים מידע בין קומפננטות באמצעות props תקלה בריאקט בקינפוג עם sassבעיות נפוצות ב-react | קינפוג עם sass
react hooks לימוד ריאקט מדריך חינם react מדריך ריאקט קורס ריאקט

אודות המחבר

יאיר וינר להציג את כל הפוסטים של וינר יאיר


« פוסט קודם
פוסט הבא »

2 תגובות

  1. frida הגב 22 במרץ 2022 בשעה 14:26

    מה ההבדל בין useEffect to לuseMemmo

    • וינר יאיר הגב 22 במרץ 2022 בשעה 15:02

      היי ,
      useEffect עוזר לנו לבחון כל שינוי שקורה בסטייס של הקומפוננטה שלנו, כמובן שאנחנו יכולים גם להעביר לו מערך תלויות (משתנים שנבחר להאזין להם ספיציפית) וכך נוכל לבצע משימות רלוונטיות ומעקב אחר שינויים אלו. כמו כן useEffect מכיל בתוכו שימושיות של LIFECYCLE מוכרות של ריאקט כמו componentWillUnmount.

      useMemo – מאפשר לנו למנוע רינדורים מיותרים של מידע שאינו משתנה שלפעמים מרונדר גם כן. ולכן יש להשתמש בHOOK של useMemo ולכן הוק זה מאד שימושי , עוד ממליץ להכיר את memo של ריאקט שנותן גם מענה שימושי לרנדורים מיותרים וכן חשוב לציין שכל שימוש של הוקים אלו עושים שימוש בקאש ולכן צריך להשתמש בהם רק במקומות בחיוניים.

      בקורב יצא פוסט שמעמיק על נושא הרינדורים בריאקט וגם יתן כמה כלים שימושיים למדוד ביצועים ושמה יהיו יותר דוגמאות בנושאי memo , usememo

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 אין תגובות
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד
דילוג לתוכן
פתח סרגל נגישות כלי נגישות

כלי נגישות

  • הגדל טקסטהגדל טקסט
  • הקטן טקסטהקטן טקסט
  • גווני אפורגווני אפור
  • ניגודיות גבוההניגודיות גבוהה
  • ניגודיות הפוכהניגודיות הפוכה
  • רקע בהיררקע בהיר
  • הדגשת קישוריםהדגשת קישורים
  • פונט קריאפונט קריא
  • איפוס איפוס