JavaScript āĻ Web Development āĻāĻ° Eco System āĻāĻāĻŋāĻ°āĻāĻžāĻŦā§ āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻāĻŋāĻ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻžāĻ° āĻŽāĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¸āĻŦ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ āĻāĻ¤ā§āĻ¤āĻ° āĻ¸āĻŽā§āĻš āĻāĻāĻ¤ā§āĻ°ā§ āĨ¤ āĻāĻļāĻž āĻāĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ Developer āĻāĻĒāĻā§āĻ¤ āĻšāĻŦā§āĻ¨ āĨ¤
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¸āĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨āĻ¸āĻŽā§āĻš āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻž āĻšāĻā§āĻā§ āĨ¤ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¸āĻāĻ˛ āĻāĻ¤ā§āĻ¤āĻ°āĻ¸āĻŽā§āĻš āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ° āĻ¤āĻž āĻ°āĻŋāĻĄā§āĻŦāĻŋāĻ˛ā§āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻž āĻā§ā§āĻŦāĻ¸āĻžāĻāĻā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĨ¤
-
āĻā§āĻ¨ā§ āĻ¸āĻžāĻā§āĻ¸āĻ¨ā§āĻ¸,āĻ°āĻŋāĻā§ā§ā§āĻ¸ā§āĻ āĻĨāĻžāĻāĻ˛ā§āĻ Issue āĻā§āĻ°āĻŋā§ā§āĻ āĻāĻ°ā§āĻ¨
-
āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¨āĻž āĻŦā§āĻāĻ˛ā§ āĻŦāĻž āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻāĻ˛ā§āĻ Discussion āĻ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°ā§āĻ¨ āĨ¤
-
Contribute āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ˛ā§āĻ Contributions Guideline āĻĒā§ā§āĻ¨ āĨ¤
ā§§. Local storage āĻ session āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ | Local Storage | Session Storage |
---|---|---|
āĻ¸ā§āĻĨāĻžā§ā§āĻ¤ā§āĻŦ | āĻŽāĻžā§āĻ¯āĻžāĻ¨ā§ā§āĻžāĻ˛āĻŋ āĻŦāĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻā§āĻ¯āĻžāĻ˛āĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĄāĻžāĻāĻž āĻā§āĻ˛āĻŋā§āĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ | āĻā§āĻ¯āĻžāĻŦ āĻā§āĻ˛ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ |
āĻāĻāĻžāĻāĻ˛ā§āĻŦāĻ˛ | āĻ¸āĻāĻ˛ window āĻ¤ā§āĻ | āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻ¯āĻžāĻŦā§āĻ |
āĻāĻĒāĻ¯ā§āĻā§ | āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽā§ āĻĄāĻžāĻāĻž āĻ°āĻžāĻāĻžā§ | āĻāĻ˛ā§āĻĒ āĻ¸āĻŽā§ āĻĄāĻžāĻāĻž āĻ°āĻžāĻāĻžā§ |
ā§¨. DOM āĻ BOM āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
BOM āĻ DOM āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° JavaScript āĻāĻ° Window Object āĻāĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĨ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ¸āĻāĻ˛ āĻāĻŋāĻā§ window āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻž master object āĻāĻ° āĻĨā§āĻā§ āĻāĻāĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻžā§
BOM āĻ DOM āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻšāĻ˛ā§āĻ
āĻŦāĻŋāĻˇā§ | DOM | BOM |
---|---|---|
āĻĒā§āĻ°ā§āĻ¨āĻ¨āĻžāĻŽ | Document Object Model | Browser Object Model |
āĻŦā§āĻ¯āĻā§āĻ¯āĻž | HTML āĻ XML documents āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻšā§āĻ¸ā§āĻ āĻāĻ¨āĻāĻžāĻāĻ°āĻŽā§āĻ¨ā§āĻ āĻāĻ° āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° | āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨āĻžāĻ˛āĻŋāĻāĻŋ |
āĻāĻĒāĻžāĻĻāĻžāĻ¨ | Elements, Attributes, Text, etc. | Window, Screen, Location, History, Navigator, etc. |
āĻ¨āĻŋā§āĻ¨ā§āĻ¤ā§āĻ°āĻ¨āĻāĻžāĻ°ā§ | W3C | āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻāĻŽā§āĻĒā§āĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻāĻ°ā§ |
ā§Š. Pure Function āĻāĻžāĻā§ āĻŦāĻ˛ā§ ?
Computer Science āĻāĻ° āĻāĻžāĻˇāĻžā§ āĻ¯ā§ āĻ¸āĻāĻ˛ function āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ¨āĻžāĻ˛ āĻ˛āĻāĻŋāĻ āĻ¨āĻŋā§ā§ āĻĨāĻžāĻā§ āĻ āĻāĻāĻ Input āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ Output āĻĻāĻŋā§ā§ āĻĨāĻžāĻā§ āĻ¤āĻžāĻā§ Pure Function āĻŦāĻ˛ā§ āĨ¤
āĻāĻ° ā§¨āĻāĻž āĻŦā§āĻļāĻŋāĻˇā§āĻ āĻĨāĻžāĻā§
- āĻ¨āĻŋāĻā§āĻ° āĻŦāĻŋāĻāĻ¨ā§āĻ¸ āĻ˛āĻāĻŋāĻ āĻ¨āĻŋā§ā§ āĻāĻ¨āĻ¸āĻžāĻ°ā§āĻ¨ āĨ¤
- Same Input āĻāĻ° āĻāĻ¨ā§āĻ¯ Same output āĻĻāĻŋā§ā§ āĻĨāĻžāĻā§ āĨ¤
Pure Function āĻāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ
āĻāĻāĻžāĻ¨ā§ pureFn āĻā§ Input āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ¯āĻ¤āĻŦāĻžāĻ°āĻ ā§¨ āĻĻā§ā§āĻž āĻšāĻŦā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° ā§Ē āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻŦā§ āĨ¤
āĻāĻāĻžāĻ¨ā§ Pure function āĻ¨ā§āĻ¤āĻŋ ā§¨āĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĢāĻ˛ā§ āĻāĻ°āĻž āĻšā§ā§āĻā§ āĨ¤
ā§§. āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° same input āĻāĻ° āĻāĻ¨ā§āĻ¯ same output āĻĻāĻŋāĻŦā§ āĨ¤
ā§¨. āĻŦāĻžāĻšāĻŋāĻ°ā§āĻ° āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻāĻžāĻ° āĻ¸ā§āĻā§āĻ āĻŦāĻž āĻāĻŋāĻā§ āĻĒā§āĻ°āĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĻ
āĻ āĻĒāĻ°āĻĻāĻŋāĻā§,
impureFn āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Pure function āĻ¨ā§āĻ¤āĻŋ ā§¨āĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĢāĻ˛ā§ āĻāĻ°āĻž āĻšā§āĻ¨āĻŋ āĨ¤
ā§§. āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° same input āĻĻāĻŋāĻ˛ā§āĻ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž output āĻĻāĻŋāĻā§āĻā§ āĨ¤
ā§¨. āĻāĻāĻŋ āĻŦāĻžāĻšāĻŋāĻ°ā§āĻ° count variable āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻā§, āĻ āĻ°ā§āĻĨāĻžā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻā§āĻ° āĻ˛āĻāĻŋāĻ āĻ¨āĻŋā§ā§ āĻāĻ¨āĻ¸āĻžāĻ°ā§āĻ¨ āĻ¨āĻž , function āĻāĻŋ āĻ¨āĻŋāĻā§āĻ° body āĻāĻ° āĻŦāĻžāĻšāĻŋāĻ°ā§āĻ° āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻĢā§āĻ˛ā§āĻā§ āĨ¤
āĻ¤āĻžāĻ āĻāĻāĻŋ pure function āĻ¨āĻž āĨ¤
ā§Ē. Falsy āĻā§āĻ¯āĻžāĻ˛ā§ āĻā§āĻ¨āĻā§āĻ˛ā§āĻā§ āĻŦāĻ˛ā§?
ā§Ģ. falsy āĻ nullish āĻā§āĻ¯āĻžāĻ˛ā§ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
Falsy value āĻŦāĻ˛āĻ¤ā§ 0, "", null, undefined, NaN, false āĻā§ āĻŦā§āĻāĻžā§ āĻāĻŦāĻ nullish value āĻŦāĻ˛āĻ¤ā§ null, undefined āĻā§ āĻŦā§āĻāĻžā§ āĨ¤
nullish value āĻŽā§āĻ˛āĻ¤ falsy value āĻāĻ° āĻ¸āĻžāĻŦāĻ¸ā§āĻ āĨ¤
- falsy value āĻāĻ° āĻāĻ¨ā§āĻ¯ || āĻĻāĻŋā§ā§ āĻā§āĻ āĻāĻ°āĻž āĻ¯āĻžā§
- nullish value āĻĄāĻŋāĻā§āĻā§āĻ āĻāĻ°āĻ¤ā§ ?? āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§
ā§Ŧ. Shallow Copy āĻ Deep Copy āĻŦāĻ˛āĻ¤ā§ āĻāĻŋ āĻŦā§āĻāĻžā§?
āĻā§āĻ¨ā§ Object āĻŦāĻž Array ā§§ āĻ˛ā§āĻā§āĻ˛ āĻĄāĻŋāĻĒ āĻāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛ā§ āĻ¤āĻžāĻā§ Shallow Copy āĻŦāĻ˛ā§ āĨ¤ āĻāĻ° ā§¨ āĻ˛ā§āĻā§āĻ˛ āĻŦāĻž āĻ¤āĻ¤ā§āĻ§āĻŋāĻ āĻĄāĻŋāĻĒ āĻāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛ā§ āĻ¤āĻžāĻā§ Deep Copy āĻŦāĻ˛ā§ āĨ¤
ā§§. Shallow Copy
āĻāĻāĻžāĻ¨ā§, original array āĻā§ Spread Oparetor āĻĻāĻŋā§ā§ āĻāĻĒāĻŋ āĻāĻ°āĻž āĻšā§ āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ origianl array āĻāĻ° āĻŽāĻžāĻā§ āĻ āĻŦāĻā§āĻā§āĻ āĻāĻā§ āĻ¤āĻžāĻ āĻāĻāĻžāĻ¨ā§ āĻ āĻŦāĻā§āĻā§āĻ āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻĻāĻŋā§ā§ āĻāĻĒāĻŋ āĻšā§ā§āĻā§ āĨ¤ āĻ¤āĻžāĻ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž original array āĻāĻ° āĻ āĻŦāĻā§āĻā§āĻ āĻāĻ° āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻāĻŋ āĻā§āĻā§āĻ āĻāĻ°āĻŦā§ āĻ¤āĻāĻ¨ āĻāĻĒāĻŋ āĻāĻ°āĻž array āĻāĻ° āĻ āĻŦāĻā§āĻā§āĻ āĻāĻ° āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻāĻŋ āĻā§āĻā§āĻ āĻšā§ā§ āĻ¯āĻžāĻŦā§ āĨ¤
ā§¨. Deep Copy
āĻāĻāĻžāĻ¨ā§, original object āĻā§ Spread Oparetor āĻĻāĻŋā§ā§ āĻāĻĒāĻŋ āĻāĻ°āĻž āĻšā§ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§āĻ° Object āĻā§āĻ āĻāĻŦāĻžāĻ° Spread Oparetor āĻĻāĻŋā§ā§ āĻāĻĒāĻŋ āĻāĻ°āĻž āĻšā§ā§āĻā§ āĨ¤ āĻ¤āĻžāĻ āĻāĻĄāĻŋ ā§¨ āĻ˛ā§āĻā§āĻ˛ āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻšāĻŦāĻžāĻ° āĻĒāĻ°ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻ¨ Deeply Copy āĻšā§ā§
Tips: āĻ āĻ¨ā§āĻ āĻ˛ā§āĻā§āĻ˛ā§āĻ° āĻĄāĻŋāĻĒ āĻā§āĻ¨ā§ Object/Array āĻ¯āĻĻāĻŋ Immutadly āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨
ā§. Deep Copy āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ JSON.stringify āĻ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ° JSON.parse āĻāĻ°ā§ āĻāĻ°āĻ˛ā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤?
Deep Copy āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ JSON.stringify āĻ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ° JSON.parse āĻāĻ°āĻž āĻšā§ āĻ¯āĻž āĻāĻ¸āĻ˛ā§ āĻāĻāĻŋāĻ¤ āĻ¨āĻž āĨ¤
āĻ¯ā§āĻŽāĻ¨āĻ
āĻāĻžāĻ°āĻ¨āĻ
-
āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§
Object
āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ¨ā§funtion
āĻĨāĻžāĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋJSON.stringify
āĻāĻ°āĻ˛ā§ āĻ¸ā§āĻāĻŋString
āĻšā§ā§ āĻ¯āĻžā§ āĨ¤ āĻāĻŦāĻ āĻ¸ā§āĻāĻŋ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ°JSON.parse
āĻāĻ°āĻ˛ā§ āĻ¸ā§āĻāĻŋString
āĻĨā§āĻā§ āĻ āĻŦāĻā§āĻā§āĻ āĻšā§ā§ āĻ¯āĻžā§ āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻāĻŋfuntion
āĻšāĻā§āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ āĻ¸ā§āĻāĻŋfuntion
āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž āĨ¤ āĻāĻžāĻ°āĻ¨ āĻ¸ā§āĻāĻŋString
āĻšā§ā§ āĻā§āĻā§ āĨ¤ āĻ¤āĻžāĻ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻž āĨ¤ -
Object
āĻšāĻ˛ā§JavaScript
āĻāĻ° āĻŦāĻŋāĻļā§āĻˇ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ , āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ° āĻĢāĻ˛ā§ āĻāĻāĻŋString
āĻšā§ā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻŋ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ°Object
āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž āĻ āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻžāĻ°āĻ¨ āĻāĻ° Prototype āĻā§ āĻ¸ā§āĻāĻŋ āĻšāĻžāĻ°āĻŋā§ā§ āĻ¯āĻžāĻŦā§ āĨ¤
ā§Ž. Event Propagation āĻ Event Delations āĻāĻžāĻā§ āĻŦāĻ˛ā§?
JavaScript-āĻ Event Propagation āĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĢā§āĻā§ āĻāĻā§: Capturing Phase, Target Phase, āĻāĻŦāĻ Bubbling Phase. āĻāĻ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĢā§āĻā§ āĻāĻā§ āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤
āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻāĻ° āĻāĻĒāĻ° āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¸ā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻāĻ˛ā§āĻĄ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻāĻ° āĻāĻĒāĻ° āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¸ā§āĻ āĻāĻ°āĻž āĻšā§ āĻ¤āĻžāĻā§ Event Delations āĻŦāĻ˛ā§ āĨ¤
ā§¯. Event Bubbling āĻŦāĻ¨āĻžāĻŽ Event Delegations āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ?
Ans:ā§§ā§Ļ. event.target āĻ event.currentTarget āĻ this.target āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻā§ ?
Ans:ā§§ā§§. Single Responsible principal āĻāĻžāĻā§ āĻŦāĻ˛ā§?
Ans:ā§§ā§¨. primitive āĻ non-primitive data types āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ? āĻāĻā§ā§āĻ° āĻāĻāĻā§ āĻāĻ°ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻ
Ans:
ā§§ā§Š. JavaScript āĻ null and Undefined āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
- āĻ¨āĻžāĻ˛ āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻā§āĻ¨āĻ āĻ āĻŦāĻā§āĻā§āĻ āĻ¨āĻ¯āĻŧ
function myFn(obj) {
if (null == obj) {
// code
}
}
- āĻ āĻŦāĻā§āĻā§āĻ āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ āĻā§āĻāĻ¨ āĻļā§āĻˇ āĻšāĻŋāĻ¸āĻžāĻŦā§
Object.getPrototypeOf(Object.prototype);
- āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻāĻŋ āĻŽā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻāĻŋāĻā§ āĻ¨āĻžāĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§āĻ¨
let o = {
code: 'abc'
};
o = null;
- āĻ āĻĒāĻ°āĻŋāĻļā§āĻ§āĻŋāĻ¤ āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻā§āĻˇāĻŋāĻ¤ āĻšāĻ˛ā§āĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
let o;
console.log(o); //undefined
- āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
function myFn(o) {
console.log(o);
}
myFn(); //undefined
- āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯āĻž āĻ āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻ¨āĻž, āĻŽāĻžāĻ¨āĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤
let o = {
code: 'abc'
};
console.log(o.name); //undefined
- āĻ¯āĻāĻ¨ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻā§āĻ¨āĻ āĻŽāĻžāĻ¨ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž, āĻāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĨāĻžāĻā§
function myFn(obj) {
obj = 'a';
}
console.log(myFn()); //undefined
- āĻ¨āĻžāĻ˛ āĻāĻŦāĻ undefined āĻŽāĻ§ā§āĻ¯ā§ āĻŽāĻŋāĻ˛ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ˛ā§ āĻŽāĻŋāĻĨā§āĻ¯āĻž
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
āĻ¨āĻžāĻ˛ āĻāĻŦāĻ undefined āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻā§āĻ¨āĻ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯āĻŧ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻĒā§āĻĨāĻāĨ¤ āĻ¨āĻžāĻ˛ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻāĻ°āĻŖā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ 0 āĻāĻ° āĻāĻāĻāĻŋ āĻŦā§āĻ§ āĻ¸āĻāĻā§āĻ¯āĻž āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ NaN āĻšāĻ¯āĻŧāĨ¤
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
- āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ§āĻ°āĻ¨ āĻĒā§āĻĨāĻ, āĻ¨āĻžāĻ˛ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻŦāĻā§āĻā§āĻ āĻāĻŦāĻ undefined āĻĒā§āĻ°āĻāĻžāĻ°āĻāĻŋ undefinedāĨ¤
console.log(typeof null); //object
console.log(typeof undefined); //undefined
- āĻ¨āĻžāĻ˛ āĻāĻŦāĻ undefined āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¨āĻžāĻ˛ āĻāĻŦāĻ undefined āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ cong āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻŦā§āĨ¤
console.log(Boolean(null == undefined)); // true
console.log(Boolean(null === undefined)); // false
- āĻ¯ā§āĻāĻĢāĻ˛
āĻāĻĒāĻ°ā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ§āĻžāĻ°āĻŖāĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¯āĻāĻ¨ āĻā§āĻĄāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ¨āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻŽāĻžāĻ¨ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°āĻŋ āĻ¤āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĻā§āĻāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻā§āĻŦāĻ˛ āĻāĻāĻŋ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻžāĻāĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻāĻ¨ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻžāĻāĻĒāĻāĻŋ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ āĻŦāĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ āĻŦāĻļā§āĻˇā§, āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻŽāĻžāĻ¨ āĻĒāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¤āĻŦā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻ°āĻžāĻ¯āĻŧ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§, āĻāĻŦāĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ§āĻ°āĻŖā§āĻ° āĻāĻžāĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻžāĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž, āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¨āĻžāĻ˛ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ āĻŦā§āĻ§ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻāĻ¨āĻāĻāĻ¨ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻŦā§āĨ¤
ā§§ā§Ē. â Array, Objects are mutable and string, number, Boolean are immutable â āĻāĻāĻžāĻ¨ā§ mutable āĻ immutable āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŋ āĻŦā§āĻāĻžāĻ¨ā§ āĻšā§ā§āĻā§ āĨ¤
structuredClone āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ ?
āĻāĻāĻā§āĻ¨ā§ āĻāĻāĻā§ Object/Array āĻā§ Copy āĻāĻ°āĻ¤ā§ āĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ spread operator
āĻŦāĻž Slice
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĨ¤
āĻ¯ā§āĻŽāĻ¨
const skill = ['html', 'css', 'js'];
const cloneWithSlice = skill.slice();
const cloneSpread = [...skill];
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻ°āĻ āĻāĻŋāĻ¤āĻ° āĻāĻ°āĻ āĻāĻŦāĻžāĻ° āĻā§āĻ¨ā§ Array/Object āĻĨāĻžāĻāĻ¤ āĻ¤āĻāĻ¨ āĻ¸ā§āĻ āĻĒāĻžāĻ°ā§āĻ āĻ¨āĻŋāĻā§āĻĻā§āĻ° āĻāĻŦāĻžāĻ° Spread āĻĻāĻŋā§ā§ āĻāĻ°āĻž āĻĒā§āĻ°ā§ā§āĻāĻ¨ Deep Copy āĻāĻ°āĻ¤ā§ āĻšāĻ˛ā§ āĨ¤
āĻ¸āĻšāĻā§ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻŦāĻžāĻ Immer āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¯āĻž āĻāĻāĻāĻŋ āĻĨāĻžāĻ°ā§āĻĄ āĻĒāĻžāĻ°ā§āĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĨ¤ āĻ¤āĻŦā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ JavaScript āĻāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ¨ āĻŽā§āĻĨāĻĻ āĻāĻā§ āĻ¯āĻž āĻĻāĻŋā§ā§ āĻ¸āĻšāĻā§ āĻāĻāĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
const person = {
name: 'yeasin',
skill: ['typeScript', 'react']
};
const cloneWithStructured = structuredClone(person);
structuredClone(value);
structuredClone(value, options);
- āĻāĻāĻŋ
ES2022
āĻāĻ° āĻĢāĻŋāĻāĻžāĻ° āĻ¤āĻžāĻ Node 17+ āĻ āĻ˛ā§āĻā§āĻ¸ā§āĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§ āĻļā§āĻ§ā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§TypeScript
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ˛ā§Perser
āĻšāĻŋāĻ¸ā§āĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻāĻžāĻāĻ˛ā§ āĻāĻā§āĻ° āĻā§āĻ¨ā§JS Verson
āĻ āĻāĻ¨āĻāĻžāĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĨ¤ - āĻā§āĻ¨ā§ Object āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¯āĻĻāĻŋ
functions
āĻĨāĻžāĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ Deep Copy āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž
ā§§. any āĻ unknown āĻāĻ° āĻŽāĻžāĻā§ āĻāĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
āĻāĻ any āĻāĻŦāĻ unknown āĻāĻāĻ¯āĻŧāĻ TypeScript āĻāĻ° āĻŦāĻŋāĻļā§āĻˇ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻžāĻāĻĒ āĻ¯āĻž āĻ¯ā§ āĻā§āĻ¨ variable āĻ āĻĄāĻŋāĻā§āĻ˛ā§ā§āĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ , āĻ¤āĻŦā§ āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
-
any
: āĻāĻ āĻāĻžāĻāĻĒāĻāĻŋ TypeScript Officially āĻ¨āĻŋāĻā§āĻ°āĻž Recommend āĻāĻ°ā§ āĻ¨āĻž āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋany
āĻāĻžāĻāĻĒā§ āĻ¯ā§ āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋany
āĻāĻžāĻāĻĒā§āĻ° āĻ¯ā§ āĻā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻĒ āĻā§āĻāĻŋāĻ āĻĨā§āĻā§ āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻŽāĻ¤ā§āĨ¤ -
unknown
: āĻāĻ āĻāĻžāĻāĻĒāĻāĻŋany
āĻāĻ° āĻāĻžāĻāĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĨ¤ āĻāĻāĻāĻŋunknown
āĻāĻžāĻāĻĒā§ āĻ¯ā§ āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻž āĻ¯āĻžāĻŦā§ , āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻžāĻāĻĒ āĻā§āĻāĻŋāĻ āĻ¨āĻž āĻāĻ°āĻ˛ā§ āĻāĻāĻāĻŋunknown
āĻāĻžāĻāĻĒā§āĻ° āĻ¯ā§ āĻā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§, āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛ āĻāĻ°āĻ¤ā§ / āĻŦāĻžāĻ¨āĻžāĻ¤ā§ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻ¯ā§ āĻā§āĻ¨ expresstions āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž (āĻ¸āĻŽāĻžāĻ¨āĻ¤āĻž āĻā§āĻ āĻāĻžāĻĄāĻŧāĻž)āĨ¤
ā§§. TypeScript generics āĻāĻ° default value āĻāĻŋāĻāĻžāĻŦā§ āĻĻā§ā§āĻž āĻ¯āĻžā§ ?
āĻāĻ any āĻāĻŦāĻ unknown āĻāĻāĻ¯āĻŧāĻ TypeScript āĻāĻ° āĻŦāĻŋāĻļā§āĻˇ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻžāĻāĻĒ āĻ¯āĻž āĻ¯ā§ āĻā§āĻ¨ variable āĻ āĻĄāĻŋāĻā§āĻ˛ā§ā§āĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ , āĻ¤āĻŦā§ āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
-
any
: āĻāĻ āĻāĻžāĻāĻĒāĻāĻŋ TypeScript Officially āĻ¨āĻŋāĻā§āĻ°āĻž Recommend āĻāĻ°ā§ āĻ¨āĻž āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋany
āĻāĻžāĻāĻĒā§ āĻ¯ā§ āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋany
āĻāĻžāĻāĻĒā§āĻ° āĻ¯ā§ āĻā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻĒ āĻā§āĻāĻŋāĻ āĻĨā§āĻā§ āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻŽāĻ¤ā§āĨ¤ -
unknown
: āĻāĻ āĻāĻžāĻāĻĒāĻāĻŋany
āĻāĻ° āĻāĻžāĻāĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĨ¤ āĻāĻāĻāĻŋunknown
āĻāĻžāĻāĻĒā§ āĻ¯ā§ āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻž āĻ¯āĻžāĻŦā§ , āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻžāĻāĻĒ āĻā§āĻāĻŋāĻ āĻ¨āĻž āĻāĻ°āĻ˛ā§ āĻāĻāĻāĻŋunknown
āĻāĻžāĻāĻĒā§āĻ° āĻ¯ā§ āĻā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§, āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛ āĻāĻ°āĻ¤ā§ / āĻŦāĻžāĻ¨āĻžāĻ¤ā§ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻ¯ā§ āĻā§āĻ¨ expresstions āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž (āĻ¸āĻŽāĻžāĻ¨āĻ¤āĻž āĻā§āĻ āĻāĻžāĻĄāĻŧāĻž)āĨ¤
ā§§. React āĻ React-DOM āĻā§? Website āĻŦāĻžāĻ¨āĻžāĻ¤ā§ ā§¨āĻāĻŋ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž āĻāĻ¨ā§āĻ¸āĻāĻ˛ āĻā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšā§?
React.js āĻŦāĻ˛āĻ¤ā§ React āĻ React-DOM āĻāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§ā§ āĻāĻāĻāĻž āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦā§āĻāĻžā§ āĨ¤ āĻ¯āĻĻāĻŋāĻ ā§¨āĻāĻŋ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻĻāĻž āĻā§āĻŽāĻŋāĻāĻž āĻ°āĻžāĻā§ āĨ¤
React : āĻāĻāĻŋ āĻŽā§āĻ˛āĻ¤ JavaScript āĻā§ā§āĻŦ āĻ āĻ ā§āĻ¯āĻžāĻĒ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ āĻāĻžāĻāĻžāĻŽāĻžāĻ˛ āĻŦāĻ˛āĻž āĻ¯āĻžā§ āĨ¤
āĻāĻŋāĻāĻžāĻŦā§ āĻ°āĻŋā§ā§āĻā§āĻ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĨ¤
React-DOM : Browser DOM āĻāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻŋ āĻŦāĻž āĻļā§āĻĄā§ āĻĄāĻŽ āĨ¤ āĻŽā§āĻ˛āĻ¤ React āĻ āĻā§āĻ¨ā§ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋ āĻāĻā§ Virtual-DOM (V-DOM) āĻ āĻ¸ā§āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻž āĻĄāĻŋāĻĢāĻŋāĻ āĻŦāĻž āĻ°āĻŋ- āĻāĻ¨āĻ¸āĻžāĻ˛ā§āĻ¸āĻļāĻ¨ āĻāĻ˛āĻā§āĻ°āĻŋāĻĻāĻŽ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻ¨ component āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§ā§āĻā§ āĻ¸ā§āĻāĻŋ āĻāĻ āĻāĻ¸ā§āĻž āĻĄāĻŽā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ°āĻĒāĻ° āĻ¸āĻžāĻ°āĻ°ā§āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŽā§āĻ˛ āĻĄāĻŽā§ āĻĒāĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§
ā§¨. âReact is Reactive â āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž React āĻāĻŋ āĻŦā§āĻāĻžāĻ¤ā§ āĻāĻžāĻā§āĻā§?
React āĻāĻ° āĻā§āĻ¨ā§ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ Component Re-render āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Updated Sate āĻāĻŋ Brower DOM āĻ Automatically āĻĒāĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĨ¤ āĻ¤āĻžāĻ āĻŦāĻ˛ā§ āĻšā§ āĻ°āĻŋā§ā§āĻā§āĻ āĻ°āĻŋā§ā§āĻā§āĻāĻŋāĻ āĻŽāĻžāĻ¨ā§ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻ¤āĻž āĻ°āĻŋā§ā§āĻā§āĻ āĻāĻ°ā§ āĻ āĻ¤āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŽā§āĻ˛ āĻĄāĻŽā§ āĻ°āĻŋāĻĢāĻ˛ā§āĻā§āĻ āĻāĻ°ā§
ā§Š. HTML,CSS āĻāĻ° āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻĒā§āĻ°ā§āĻ¸ā§āĻ¸ āĻāĻŋ āĻāĻŋ?
Ans:ā§Ē. React State Update āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Batch Update āĻŦāĻ˛āĻ¤ā§ āĻāĻŋ āĻŦā§āĻāĻžā§ ?
React āĻāĻ° āĻā§āĻ¨ā§ State Update āĻšāĻ˛ā§ āĻ¤āĻž āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ āĻĄāĻŽā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻŋāĻĢāĻ˛ā§āĻā§āĻ āĻāĻ°ā§ āĻ¨āĻž āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻāĻ¤ā§āĻ°ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ Sate āĻ¸āĻŽā§āĻš āĻŽā§āĻ˛ āĻĄāĻŽā§ Update āĻāĻ°ā§ āĨ¤
āĻ āĻ¨ā§āĻ State āĻāĻāĻ¤ā§āĻ°ā§ āĻā§āĻ°ā§āĻĒ āĻāĻāĻžāĻ°ā§ update āĻāĻ°āĻžāĻā§āĻ Batch Update āĻŦāĻ˛āĻž āĻšā§ āĨ¤
ā§Ģ. āĻāĻāĻžāĻ§āĻŋāĻ DOM Operations āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Browser DOM āĻāĻŋ āĻāĻ¸āĻ˛ā§āĻ Slow? āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻāĻŋāĻāĻžāĻŦā§ DOM Operations Optimize āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
Browser DOM Operations Slow āĻ¨ā§ āĻ¤āĻŦā§ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ¨āĻ āĻĨā§āĻā§ Display āĻĒāĻžāĻ°ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ°āĻ¤ā§ āĻšā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React.js Batch Update āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻ¤ā§āĻ°ā§ āĻ¸āĻŦ State update āĻāĻ°ā§ āĨ¤
ā§Ŧ. āĻĄāĻŋāĻĢāĻŋāĻ āĻŦāĻž āĻ°āĻŋ- āĻāĻ¨āĻ¸āĻžāĻ˛ā§āĻ¸āĻļāĻ¨ āĻāĻ˛āĻā§āĻ°āĻŋāĻĻāĻŽ āĻāĻžāĻā§ āĻŦāĻ˛ā§? āĻāĻŦāĻ React-DOM āĻāĻāĻŋāĻā§ āĻā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ?
Application āĻāĻ° āĻā§āĻ¨ā§ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻā§āĻ°āĻŋ āĻāĻ° āĻŽāĻžāĻā§ āĻā§āĻāĻā§ āĻ¤āĻž āĻŽā§āĻ˛ āĻĄāĻŽā§ āĻ¤āĻž update āĻāĻ°āĻ¤ā§ Diffing Algorithm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§ āĨ¤āĻŽā§āĻ˛āĻ¤, āĻ°āĻŋā§ā§āĻā§āĻ āĻāĻāĻāĻŋ Component Tree āĻŦāĻž Render Tree āĻŽā§āĻāĻ¨ā§āĻāĻžāĻāĻ¨ āĻāĻ°ā§ āĨ¤ āĻ¤āĻžāĻ āĻā§āĻ¨ā§ Component āĻ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻ Component āĻāĻŋ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻā§āĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§ Algorithm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤āĻžāĻā§ āĻĄāĻŋāĻĢāĻŋāĻ āĻŦāĻž āĻ°āĻŋ- āĻāĻ¨āĻ¸āĻžāĻ˛ā§āĻ¸āĻļāĻ¨ āĻāĻ˛āĻā§āĻ°āĻŋāĻĻāĻŽ āĻŦāĻ˛ā§ āĨ¤
ā§. React Component āĻāĻ° āĻ¨āĻžāĻŽ Capital Letter āĻĻāĻŋā§āĻž āĻļā§āĻ°ā§ āĻā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšā§ ?
Application āĻāĻ° function JSX āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻžāĻ° āĻ āĻ¨ā§āĻ¯ āĻ¯ā§āĻā§āĻ¨ā§ āĻā§āĻ¯āĻžāĻ˛ā§ āĨ¤āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨āĻāĻŋ JSX āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĻāĻŽāĻ¨ , āĻ āĻ°ā§āĻĨāĻžā§ āĻā§āĻ¨āĻā§ āĻā§āĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻāĻ° āĻā§āĻ¨āĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ function āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ¨ā§ā§āĻ° āĻāĻ¨ā§āĻ¯ Component āĻāĻ° āĻ¨āĻžāĻŽā§ Capital Letter āĻĻāĻŋā§ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻšā§ āĨ¤
ā§Ž. âProps are Immutableâ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻŋ ?
Immutable āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ modifications āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž āĻāĻŽāĻ¨ āĻŦā§āĻāĻžā§ āĻ¤āĻŦā§ Replace āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻāĻŽāĻ¨ āĨ¤ React Components āĻāĻ° Props āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻāĻāĻŋ Object āĻĒā§ā§ā§ āĻĨāĻžāĻāĻŋ āĨ¤
āĻ¯ā§āĻŽāĻ¨āĻ
**export const ReactComponentsDemo = (props) => {
const {name,id} = props;
return <div >index</div>;
};**
āĻāĻ Props āĻ¨āĻžāĻŽā§āĻ° Object a āĻāĻŽāĻ°āĻž name, id āĻĒāĻžāĻā§āĻāĻŋ āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŽāĻ¨ āĻ§āĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ,
{
id: 1,
name: "yeasin",
}
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨ā§ āĻāĻžāĻ°āĻ¨ā§ āĻŦāĻž āĻā§āĻ¨ā§ event āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§ā§ name = âmd kawsar islam yeasin â āĻšā§ā§ āĻā§āĻ˛ āĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŽāĻ¨ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ update āĻšāĻŦāĻžāĻ° āĻāĻžāĻ°āĻ¨ā§ name āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŦā§ props āĻāĻ°, āĻāĻŋāĻ¨ā§āĻ¤ā§ Props are immutable āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻŦā§āĻāĻžā§ āĻāĻ° āĻā§āĻ¨ā§ āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻĒāĻ°āĻŦāĻ°āĻ°ā§āĻ¤ā§ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°ā§ āĻāĻŦāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻ object āĻĒāĻžāĻŦā§ āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° updated value āĻāĻž āĻ¨ā§
āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻ°āĻŋ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°ā§ props āĻšāĻŦā§
{
id: 1,
name: "md kawar islam yeasin",
}
ā§¯. JSX Components āĻā§ āĻā§āĻ¨ āĻā§āĻ¨ā§ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻāĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻŦāĻž Fragment āĻĻāĻŋā§ā§ Wrap āĻāĻ°āĻ¤ā§ āĻšā§ ?
React Component JSX āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĨ¤ JSX āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻŋ Object āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻā§ html tag Object āĻšāĻŋāĻ¸ā§āĻŦā§ āĻļā§āĻˇā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻžāĻ¨āĻŋ, āĻā§āĻ¨ā§ function āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĨ¤
āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ° element āĻŦāĻž Fragment āĻĻāĻŋā§āĻž Wrap āĻāĻ°āĻž āĻĨāĻžāĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ Object āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻžāĻāĻŋ āĻ¸āĻŦ element āĻā§āĻ˛ā§ nested object āĻāĻāĻžāĻ°ā§ āĻĨāĻžāĻā§ āĻ āĻ¤āĻž āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĨ¤
ā§§ā§Ļ. React āĻ List āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻ˛ā§ Array.prototype.map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§āĨ¤ map āĻŦā§āĻ¯āĻžāĻ¤āĻŋāĻ¤ forEach,for loop,while loop āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĻ āĻāĻŋ List āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ ? āĻšā§āĻ¯āĻž āĻšāĻ˛ā§ āĻāĻŋāĻāĻžāĻŦā§?
### List Render āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ°āĻž map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĨāĻžāĻāĻŋ āĨ¤āĻ¯ā§āĻŽāĻ¨āĻ
import { Fragment } from "react";
import { Component1, Component2, Component3 } from "./Components";
const App = () => {
const list = [Component1, Component2, Component3];
return (
<div>
<h1>App</h1>
{list.map((Val, index) => {
return (
<Fragment key={index}>
<Val /> {/* āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ JSX Component āĻāĻāĻžāĻ¨ā§ Call āĻšāĻā§āĻā§ */}
</Fragment>
);
})}
</div>
);
React āĻāĻ° āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ JSX Return āĻāĻ°ā§ āĻāĻŽāĻ¨ function āĻŦāĻž React āĻāĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ map āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ modified array āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĨ¤ āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ UI āĻāĻ° āĻŽāĻžāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤ āĻāĻĒāĻ°ā§āĻ° Examples āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Array.prototype.map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžā§ list āĻāĻ° modified āĻāĻāĻāĻŋ Array of Components āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ āĻ¯āĻž React āĻ¤āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ UI āĻ¤ā§ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻā§ āĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĨ¤ UI āĻ¤ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§ āĻ¨āĻž āĨ¤ āĻ¤āĻžāĻ āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ Array āĻŦāĻž List āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦ Component āĻā§āĻ˛ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻāĻŦāĻ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨ā§ key āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ
export const App = () => {
const data = ['Item 1', 'Item 2', 'Item 3'];
const items = [];
data.forEach((item, index) => {
items.push(<li key={index}>{item}</li>);
});
return <ul>{items}</ul>;
};
export default MyComponent;
ā§§ā§§. List āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ element āĻā§ āĻā§āĻ¨ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž key āĻĻāĻŋāĻ¤ā§ āĻšā§ ? āĻ¯āĻĻāĻŋ key āĻ¨āĻž āĻĻā§ā§āĻž āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ default āĻāĻžāĻŦā§ āĻāĻŋ āĻā§ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ¨ā§ā§?
React āĻ List Render āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ element āĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž key āĻĻāĻŋāĻ¤ā§ āĻšā§ āĨ¤ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° key āĻ¨āĻž āĻĻā§ā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ Default āĻāĻžāĻŦā§ Index āĻā§ key āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ¨āĻŋā§ā§ āĻĨāĻžāĻā§ āĨ¤
index āĻā§ āĻ¯āĻĻāĻŋ key āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĻā§āĻ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤ āĻ¯ā§āĻŽāĻ¨āĻ
āĻ§āĻ°āĻŋ,
- List of Components āĻ¯āĻž map āĻāĻ°ā§ UI āĻ¤ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ˛ āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ elements āĻāĻ° key āĻ¤āĻžāĻĻā§āĻ° index āĻā§ āĻĻā§ā§āĻž āĻšāĻ˛ āĨ¤
- onClick āĻā§āĻ¨ā§ event āĻ ā§§āĻŽ index āĻāĻ° Component āĻā§ remove āĻāĻ°āĻž āĻšāĻ˛ āĨ¤
- āĻāĻāĻ¨ ā§¨ā§ element āĻāĻŋ āĻšā§ā§ āĻ¯āĻžāĻŦā§ ā§§āĻŽ element āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ array āĻāĻ° ā§§āĻŽ elements āĻāĻŋ remove āĻāĻ°āĻž āĻšā§ā§āĻā§ āĻ¤āĻžāĻ ā§¨ā§āĻāĻŋāĻ° index āĻšāĻŦā§ ā§§āĻŽ āĻāĻŋāĻ° index āĻ āĻ°ā§āĻĨāĻžā§ 1 .
- āĻ°āĻŋā§ā§āĻā§āĻ āĻŽā§āĻ˛āĻ¤ index āĻĻāĻŋā§ā§ āĻā§āĻ°āĻžāĻ āĻ°āĻžāĻā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻā§āĻ°āĻžāĻ āĻ°āĻžāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§ āĻ¨āĻž āĨ¤ āĻāĻžāĻ°āĻ¨ āĻ¤āĻžāĻ° āĻ āĻ¨ā§āĻ¯āĻžā§ā§ 1 index āĻāĻ˛āĻž Component āĻāĻŋ remove āĻāĻ°āĻž āĻšā§ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻŦāĻžāĻ° āĻāĻŦāĻžāĻ° āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻāĻŦāĻžāĻ° 1 index āĻāĻ° āĻā§āĻ¨ā§ component āĻāĻā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻāĻ¨āĻĢāĻŋāĻāĻ¸āĻĄ āĻšā§ā§ āĻ¯āĻžāĻŦā§ āĨ¤
- āĻāĻ¸āĻ˛ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Wired Behave āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
ā§§ā§¨. React Component āĻāĻŋāĻāĻžāĻŦā§ Pure Component āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ ?
Ans:ā§§ā§Š. React Dev Mood āĻ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ ā§¨ āĻāĻžāĻ° āĻ°āĻŋ-āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ¨ ?
React Development mood āĻ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ re-render āĻāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ Dev Mood āĻ āĻāĻāĻŋ ā§¨ āĻŦāĻžāĻ° āĻāĻ°ā§ āĨ¤
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
āĻŽā§āĻ˛āĻ¤ main.jsx āĻāĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ Behavior āĻĒā§ā§ā§ āĻĨāĻžāĻāĻŋāĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻĒā§āĻ°āĻāĻŋāĻ¤āĻŋ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ ā§¨ āĻŦāĻžāĻ° re-render āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Module Dependency Tree āĻāĻ° āĻā§āĻĨāĻžā§ āĻā§āĻ¨ Error āĻšā§ā§āĻā§ āĻ¤āĻž āĻā§āĻ āĻāĻ°ā§ āĨ¤
āĻāĻ° āĻĢāĻ˛ā§ āĻā§āĻ¨ā§ error āĻšāĻ˛ā§ āĻāĻā§āĻ¤ file āĻ āĻāĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻāĻ¨ā§ āĻšā§ā§āĻā§ āĻ¤āĻž show āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ āĻāĻāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻāĻ° āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž āĨ¤
ā§§ā§Ē. Local āĻ Global Component Mutation āĻŦāĻ˛āĻ¤ā§ āĻāĻŋ āĻŦā§āĻāĻžā§ ?
React Development mood āĻ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ re-render āĻāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ Dev Mood āĻ āĻāĻāĻŋ ā§¨ āĻŦāĻžāĻ° āĻāĻ°ā§ āĨ¤
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
āĻŽā§āĻ˛āĻ¤ main.jsx āĻāĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ Behavior āĻĒā§ā§ā§ āĻĨāĻžāĻāĻŋāĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻĒā§āĻ°āĻāĻŋāĻ¤āĻŋ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ ā§¨ āĻŦāĻžāĻ° re-render āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Module Dependency Tree āĻāĻ° āĻā§āĻĨāĻžā§ āĻā§āĻ¨ Error āĻšā§ā§āĻā§ āĻ¤āĻž āĻā§āĻ āĻāĻ°ā§ āĨ¤
āĻāĻ° āĻĢāĻ˛ā§ āĻā§āĻ¨ā§ error āĻšāĻ˛ā§ āĻāĻā§āĻ¤ file āĻ āĻāĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻāĻ¨ā§ āĻšā§ā§āĻā§ āĻ¤āĻž show āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ āĻāĻāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻāĻ° āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž āĨ¤
ā§§ā§Ģ. Components Hydration āĻŦāĻ˛āĻ¤ā§ āĻāĻŋ āĻŦā§āĻāĻžā§ ?
Ans:ā§§ā§Ŧ. React Side Effect āĻāĻŋ? Side Effect āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽ āĻāĻŋ āĻāĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§?
React Development mood āĻ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻ¸ā§āĻ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ re-render āĻāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ Dev Mood āĻ āĻāĻāĻŋ ā§¨ āĻŦāĻžāĻ° āĻāĻ°ā§ āĨ¤
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
āĻŽā§āĻ˛āĻ¤ main.jsx āĻāĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ Behavior āĻĒā§ā§ā§ āĻĨāĻžāĻāĻŋāĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ React āĻĒā§āĻ°āĻāĻŋāĻ¤āĻŋ component āĻ āĻāĻ° āĻ¸āĻāĻ˛ Child components āĻā§ ā§¨ āĻŦāĻžāĻ° re-render āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Module Dependency Tree āĻāĻ° āĻā§āĻĨāĻžā§ āĻā§āĻ¨ Error āĻšā§ā§āĻā§ āĻ¤āĻž āĻā§āĻ āĻāĻ°ā§ āĨ¤
āĻāĻ° āĻĢāĻ˛ā§ āĻā§āĻ¨ā§ error āĻšāĻ˛ā§ āĻāĻā§āĻ¤ file āĻ āĻāĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻāĻ¨ā§ āĻšā§ā§āĻā§ āĻ¤āĻž show āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤
āĻ¤āĻŦā§ āĻāĻāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻāĻ° āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž āĨ¤
ā§§ā§. Immutably āĻā§āĻ¨ā§ Array/Object of State āĻāĻ° āĻā§āĻ¨ā§ element Add, delete and update āĻāĻ°āĻž āĻ¯āĻžā§ ?
āĻ§āĻ°āĻŋ,
āĻā§āĻ¨ā§ āĻāĻāĻ Array Of Object āĻ¨ā§ā§āĻž āĻšāĻ˛āĨ¤
āĻ¯āĻžāĻ° initial value { id: 1, name: "yeasin"}
const [arr, setArr] = useState([{ id: 1, name: 'yeasin' }]);
const newArr = [...arr, { id: 2, name: 'kawsar' }];
setArr(newArr);
āĻ§āĻžāĻĒāĻ¸āĻŽā§āĻš,
- arr āĻāĻ° āĻ¸āĻāĻ˛ element āĻā§āĻ˛ā§ newArr āĻāĻ° spread Operator āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Copy āĻāĻ°ā§ āĻ¨ā§ā§āĻž āĻšāĻ˛ā§
- āĻāĻŦāĻ āĻāĻĒāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§āĻ āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻāĻŋ element āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ˛ āĨ¤
- setArr āĻāĻ° caller function āĻ āĻ¨āĻ¤ā§āĻ¨ Array āĻāĻŋ āĻĻāĻŋā§ā§ āĻĻā§ā§āĻž āĻšāĻ˛ āĨ¤
- āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°ā§āĻŽā§āĻ āĻšāĻŦā§ āĻ āĻ¨āĻ¤ā§āĻ¨ newArr āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§āĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ state āĻšāĻŦā§ āĨ¤
const deletedArr = arr.filter(val => val.id !== 1);
setArr(deletedArr);
āĻ§āĻ°āĻŋ, ā§§ āĻ¨āĻ ID element āĻā§ Delete āĻāĻ°āĻ¤ā§ āĻāĻžāĻ ,
āĻ§āĻžāĻĒāĻ¸āĻŽā§āĻš,
- āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ state āĻ āĻ°ā§āĻĨāĻžā§ arr āĻāĻ° āĻāĻĒāĻ° filter āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĨ¤
- āĻ¯ā§ element āĻāĻ° id ā§§ āĻ¸ā§āĻ āĻāĻžā§āĻž āĻŦāĻžāĻāĻŋ element āĻā§āĻ˛ā§ Array āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻŦā§
- setArr āĻ deletedArr āĻāĻŋ āĻĻāĻŋā§ā§ āĻĻā§āĻāĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻā§āĻ° State āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ deletedArr āĻāĻŋ arr value āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻ¨ā§āĻ¯ āĻšāĻŦā§ āĨ¤
ā§§ā§Ž. React āĻāĻ° āĻā§āĻ¨ event āĻāĻŋ Bubbling āĻšā§ āĻ¨āĻž ?
ā§§ā§¯. Declarative āĻ Imperative syntax āĻāĻ° āĻŽāĻžāĻā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻā§? React āĻā§āĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻāĻĒāĻžā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ UI āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§āĻ āĻāĻ°ā§ ?
Declarative āĻŦāĻ˛āĻ¤ā§ āĻŦāĻ°ā§āĻ¨āĻ¨āĻžāĻŽā§āĻ˛āĻ āĻŦā§āĻāĻžā§ āĻāĻŦāĻ Imperative āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻžāĻŽā§āĻ˛āĻ āĻŦā§āĻāĻžā§ āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ
āĻāĻĒāĻ¨āĻŋ āĻŽāĻŋāĻ°āĻĒā§āĻ° āĻĨā§āĻā§ āĻļāĻžāĻšāĻŦāĻžāĻ āĻ¯āĻžāĻŦā§āĻ¨ āĨ¤
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻžā§āĻŋāĻ¤ā§ āĻāĻ āĻ˛ā§āĻ¨ āĻ āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ°āĻā§ āĻŦāĻ˛āĻ˛ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻļāĻžāĻšāĻŦāĻžāĻ āĻ¨āĻŋā§ā§ āĻ¯ā§āĻ¤ā§ āĻāĻāĻ¨ āĻ¸ā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻŽāĻ¤ āĻ°āĻžāĻ¸ā§āĻ¤āĻž āĻĻāĻŋā§ā§ āĻ¨āĻŋā§ā§ āĻ¯āĻžāĻŦā§ āĨ¤
āĻāĻ āĻāĻĒāĻžā§ āĻšāĻā§āĻā§ Declarative āĨ¤
āĻāĻŦāĻžāĻ°,
āĻāĻĒāĻ¨āĻŋ āĻāĻžā§āĻŋāĻ¤ā§ āĻāĻ ā§ āĻĒā§āĻ°āĻ¤āĻŋ āĻ°āĻžāĻ¸ā§āĻ¤āĻžā§ āĻ°āĻžāĻ¸ā§āĻ¤āĻžā§ āĻŦāĻ˛ā§ āĻĻāĻŋāĻ˛ā§āĻ¨ āĻāĻŦāĻžāĻ° āĻŦāĻžāĻŽā§ āĻāĻ° āĻĒāĻ° āĻĄāĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻ¨ āĻ°āĻžāĻ¸ā§āĻ¤āĻž āĻ¤āĻžāĻā§ āĻĻā§āĻāĻŋāĻā§ā§ āĻĻā§āĻāĻŋā§ā§ āĻ¨āĻŋā§ā§ āĻā§āĻ˛ā§āĻ¨, āĻāĻ āĻāĻĒāĻžā§ āĻšāĻ˛ā§ Imperative
React.js āĻŽā§āĻ˛āĻ¤ Declarative āĻāĻĒāĻžā§ āĻĢāĻ˛ā§ āĻāĻ°ā§ UI āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻĨāĻžāĻā§ āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ state define āĻāĻ°āĻŋ āĻ āĻ¤āĻž setState āĻĻāĻŋā§ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽā§āĻ¯āĻžāĻ¨ā§ā§āĻžāĻ˛āĻŋ āĻā§āĻ¨ā§ DOM āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšā§ āĻ¨āĻž āĨ¤ React āĻ¨āĻŋāĻā§ āĻ¤āĻž āĻ¨āĻŋāĻā§āĻ° āĻŽāĻ¤ āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤āĻž āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŦāĻ˛ā§ āĻĻāĻŋāĻ¤ā§ āĻšā§ āĻ¨āĻž āĨ¤
āĻāĻŦāĻžāĻ° Raw JavaScript āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨ā§ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻ¸ā§āĻāĻž āĻāĻŦāĻžāĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§ā§āĻžāĻ˛āĻŋ DOM āĻ Update āĻāĻ°ā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻ¤ āĨ¤ āĻ¤āĻžāĻ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ Imperative āĻāĻĒāĻžā§ āĻĢāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻšā§
ā§¨ā§Ļ. Derived āĻŦāĻž Calculated State āĻāĻžāĻā§ āĻŦāĻ˛ā§ ?
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§āĻ° āĻā§āĻ¨ā§ State āĻ¸āĻŽā§āĻšā§āĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§ā§ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ State āĻŦāĻžāĻ¨āĻžāĻ¨ā§ āĻā§ Derived āĻŦāĻž Calculated State āĻŦāĻ˛ā§ āĨ¤
āĻ¯ā§āĻŽāĻ¨āĻ
const [firstName, setFirstName] = useState('');
const [firstName, setLastName] = useState('');
const [fullName, setFullName] = useState('');
āĻāĻāĻžāĻ¨ā§, firstName and lastName āĻāĻā§ āĻāĻŦāĻžāĻ° fullName āĻāĻ° State āĻāĻā§ āĨ¤ āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻĻāĻŋ firstName āĻŦāĻž lastName āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° event Handler āĻāĻ° āĻĨā§āĻā§ fullName āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ āĻšāĻŦā§ āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§,
const [firstName, setFirstName] = useState('');
const [lastName, setLastName] = useState('');
const fullName = firstName + lastName;
āĻāĻāĻžāĻ¨ā§ fullName firstName āĻ lastName āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¨āĻŋā§ā§ āĻāĻŽāĻ°āĻž fullName āĻāĻ° āĻāĻāĻāĻž āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻžāĻā§āĻāĻŋ
āĻāĻāĻžāĻ¨ā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§āĻ° State āĻāĻ° firstName āĻ lastName āĻĻāĻŋā§ā§ fullName āĻŦāĻžāĻ¨āĻžāĻ¨ā§ āĻšā§ā§āĻā§ āĻ¤āĻžāĻ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ fullName Derived āĻŦāĻž Calculated State āĻŦāĻ˛āĻž āĻšā§ āĨ¤
ā§¨ā§§. Mirror Props āĻā§? āĻā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻ°ā§ ?
useState āĻāĻ° Initial Value āĻ¯āĻĻāĻŋ Parent Component āĻāĻ° āĻĨā§āĻā§ Props āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋā§ā§ āĻ¸ā§āĻāĻŋ āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§ āĻ¤āĻāĻ¨ āĻ¸ā§āĻā§ Mirror Props āĻŦāĻ˛āĻž āĻšā§ ,
āĻ¯ā§āĻŽāĻ¨ ,
import { useState } from 'react';
export const DeriveState = ({ initialCategory }) => {
const [category, setCategory] = useState(initialCategory);
return <div>Mirror Props</div>;
};
āĻāĻāĻžāĻ¨ā§, āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ā§āĻ
- Parent Component āĻāĻ° āĻāĻ āĻā§āĻ¯āĻ˛ā§ āĻ¯āĻĻāĻŋ State āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻšā§ āĻ āĻĒāĻ°ā§ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§ āĻ¤āĻž āĻāĻ Child Component āĻāĻ° Value āĻĒāĻ°āĻŋāĻŦāĻ°āĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§ āĻ¨āĻž āĨ¤
- āĻāĻāĻŋ ā§§āĻŽ āĻāĻ Initial Values āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĨāĻžāĻāĻŦā§ āĻ āĻāĻ° āĻŽāĻžāĻā§ Setter Function āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ¨ā§ āĻ¯āĻžāĻŦā§ āĨ¤ Parents āĻāĻ° āĻā§āĻ¨ā§ setter Function āĻĻāĻŋā§āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ˛ā§ āĻ¤āĻž Child āĻāĻ° value āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§ āĻ¨āĻž
ā§¨ā§¨. Props Drilling āĻāĻžāĻā§ āĻŦāĻ˛ā§ ?
āĻāĻā§¨ā§Š. Stae Lifting up āĻŽā§āĻĨāĻĄ āĻāĻŋ āĻ āĻā§āĻ¨ āĻĢāĻ˛ā§ āĻāĻ°āĻž āĻšā§ ?
āĻāĻā§¨ā§Ē. useEffect āĻāĻ° Component life cycle methods āĻŦā§āĻ¯āĻžāĻāĻž āĻāĻ° āĨ¤
āĻāĻ
āĻā§āĻ¨ā§ āĻāĻ āĻĒā§āĻ°āĻžāĻā§āĻ¨āĻāĻžāĻ˛ā§ Class Component
āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Component life cycle āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻž Topic āĻāĻŋāĻ˛ āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ functional component āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻž āĻšā§āĻ¤ āĻ¨ā§āĻ āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ° ā§¨/ā§Š āĻāĻž āĻāĻ¨ā§āĻ¸ā§āĻĒā§āĻ āĻāĻāĻ¨āĻ āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻ¯āĻž useEffect
āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°ā§ā§āĻā§āĻ¯ āĨ¤
useEffect
āĻšāĻ˛ā§ React.js
āĻāĻ° āĻ¸āĻžāĻāĻĄ āĻāĻĢā§āĻā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻšā§āĻ āĨ¤
React
āĻāĻ° āĻā§āĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻšāĻŦāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻžā§āĻā§ life cycle Methods
āĻŦāĻ˛āĻž āĻšā§ āĨ¤
Class Component āĻāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ āĻ¸āĻāĻ˛ method āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻā§āĻĻā§āĻ° function āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ˛ā§āĻāĻž āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻšāĻ¤ āĻ¤āĻŦā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻšā§ āĻ¨āĻž āĨ¤ useEffect āĻĻāĻŋā§āĻž āĻ¸āĻŦ āĻšā§āĻ¯āĻžāĻĄā§āĻ˛ āĻāĻ°āĻž āĻ¯āĻžā§ āĨ¤ āĻ¤āĻžāĻ āĻ methods āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§āĻ āĻ¤āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻĒā§āĻ āĻāĻā§ āĻāĻāĻ¨āĻ āĨ¤
āĻŽā§āĻ˛āĻ¤ class syntax āĻāĻ° āĻāĻ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž āĻāĻžāĻŽā§āĻ˛āĻž āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĒāĻžāĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ° hook āĻāĻ¨āĻž āĻšā§ āĨ¤
Mount
: Render Phase āĻŦāĻž Commit āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻā§ āĻŦāĻ˛ā§UnMount
: Render Phase āĻŦāĻž Commit āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻŦāĻž render tree āĻĨā§āĻā§ remove āĻāĻ°āĻž āĻšāĻ˛ā§ āĻ¤āĻžāĻā§ āĻŦāĻ˛ā§ unmount āĨ¤
componentDidMount()
componentDidUpdate()
componentWillUnmount()
āĻāĻā§āĻ¤ āĻ¸āĻāĻ˛ method āĻāĻ° Concepts āĻāĻāĻ āĻāĻŽāĻ°āĻžāĻĻā§āĻ° āĻāĻžāĻ¨āĻž āĻ˛āĻžāĻā§ āĨ¤
āĻāĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻāĻŋ āĻŽāĻžāĻāĻ¨ā§āĻ āĻšā§ā§āĻā§? āĻ¯āĻĻāĻŋ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§āĻ° āĻā§āĻĄ āĻ°āĻžāĻ¨ āĻāĻ°āĻŦā§ āĨ¤
āĻ¸āĻšāĻā§ āĻŦā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ , component āĻ¯āĻāĻ¨ mount āĻšāĻŦā§ āĻŽāĻžāĻ¨ā§ render phrase āĻļā§āĻˇ āĻšāĻŦā§ āĻ¸ā§āĻāĻžāĻ° āĻĒāĻ° āĻāĻ effect āĻāĻŋ āĻĢāĻžā§āĻžāĻ° āĻšāĻŦā§ āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻā§ useEffect āĻĻāĻŋā§āĻž āĻāĻŽāĻ°āĻž āĻ¯ā§āĻāĻžāĻŦā§ āĻāĻ°āĻŋ āĨ¤
useEffect(() => {
// rander phase āĻāĻ° āĻĒāĻ° āĻāĻāĻŋ āĻ°āĻžāĻ¨ āĻāĻ°āĻŦā§ āĨ¤
}, []);
āĻāĻāĻžāĻ¨ā§ [ ] āĻĻā§ā§āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦā§āĻāĻžāĻ¨ā§ āĻšāĻ˛ āĻāĻ° āĻā§āĻ¨ā§ Dependency āĻ¨ā§āĻ āĻ¤āĻžāĻ āĻāĻāĻŋ Render phase āĻļā§āĻˇ āĻšāĻŦāĻžāĻ° āĻĒāĻ° āĻāĻāĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻāĻ°āĻŦā§ āĨ¤
āĻā§āĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻŋāĻā§ āĻāĻŋ update āĻšā§ā§āĻā§? āĻ¯āĻĻāĻŋ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻ§āĻ°āĻŋ āĻā§āĻ¨ā§ āĻāĻāĻāĻž state āĻāĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻž āĻāĻĒāĻĄā§āĻ āĻšāĻ˛ā§ āĻāĻ āĻāĻĢā§āĻā§āĻ āĻāĻŋ āĻ°āĻžāĻ¨ āĻāĻ°āĻŦā§ āĻ¨āĻŋāĻā§ āĻĨā§āĻā§āĻ āĨ¤
useEffect(() => {
// name āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻāĻ°āĻŦā§
}, [name]);
āĻā§āĻ¨ā§ components  āĻ¯āĻĻāĻŋ react render tree āĻāĻ° āĻĨā§āĻā§ āĻ°āĻŋāĻŽā§āĻ āĻāĻ°āĻž āĻšā§ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻ°āĻžāĻ¨ āĻšāĻŦā§  āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ  useEffect āĻāĻ° Cleanup function āĻ¨āĻžāĻŽā§ āĻāĻŋāĻ¨āĻŋ āĨ¤  āĻ¯āĻĻāĻŋ useEffect āĻā§āĻ¨ā§ functions return āĻāĻ°ā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋ unmount āĻāĻ° āĻ¸āĻŽā§ āĻ¤āĻž āĻĢāĻžāĻ°āĻžā§ āĻāĻ°āĻŦā§ āĻ¨āĻŋāĻā§ āĻĨā§āĻā§  āĨ¤
useEffect(() => {
return () => {
// unmount āĻāĻ° āĻ¸āĻŽā§ āĻāĻāĻŋ āĻ°āĻžāĻ¨ āĻšāĻŦā§ āĨ¤
};
}, []);
ā§§. Server Side Rendering āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŋ ?
āĻāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸āĻžāĻāĻĄ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻ āĻāĻ¨āĻŋāĻļāĻŋā§āĻžāĻ˛ āĻāĻāĻāĻāĻŋāĻāĻŽāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻšā§ā§ āĻā§āĻ˛āĻžā§ā§āĻ¨ā§āĻ āĻ āĻāĻ¸ā§ āĻŦāĻŋāĻ§āĻžā§ āĻā§āĻ˛āĻžā§ā§āĻ¨ā§āĻ āĻāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻ°ā§ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻž āĻ˛āĻžāĻā§ āĻ¨āĻžāĨ¤ āĻāĻ¤ā§ āĻāĻ°ā§ āĻā§ā§āĻŦ āĻĒā§āĻ āĻāĻ° āĻāĻ¨āĻŋāĻļāĻŋā§āĻžāĻ˛ āĻ˛ā§āĻĄāĻŋāĻ āĻāĻžāĻāĻŽ āĻāĻŽā§ āĻ¯āĻžā§āĨ¤ āĻāĻāĻžā§āĻž āĻ¸āĻžāĻ°ā§āĻ āĻāĻā§āĻāĻŋāĻ¨ āĻāĻ āĻāĻ¨āĻŋāĻļāĻŋā§āĻžāĻ˛ āĻāĻāĻāĻāĻŋāĻāĻŽāĻāĻ˛ āĻāĻ¨ā§āĻā§āĻ¨ā§āĻ āĻĨā§āĻā§āĻ āĻāĻ¨ā§āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻāĻ°ā§ āĻŦāĻŋāĻ§āĻžā§ āĻā§ā§āĻŦāĻ¸āĻžāĻāĻ āĻāĻ° SEO āĻ°âā§āĻ¯āĻžāĻāĻ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžā§āĨ¤ā§¨. Client Components āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻŋāĻāĻžāĻŦā§ Server Components āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ ?
āĻāĻā§§. Node āĻ REPL Context āĻŦāĻ˛āĻ¤ā§ āĻāĻŋ āĻŦā§āĻāĻžā§
āĻāĻ Node.js REPL (Read-Eval-Print Loop) āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻ¨āĻāĻžā§āĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻ¯ā§āĻāĻžāĻ¨ā§ Node.js āĻā§āĻĄ āĻ˛āĻŋāĻā§ āĻ¤āĻž āĻ¤āĻžāĻ°āĻĒāĻ°ā§āĻ āĻ°āĻžāĻ¨ āĻāĻ°āĻž āĻ¯āĻžā§ āĻ Output āĻĻā§āĻāĻž āĻ¯āĻžā§āĨ¤
āĻ¯ā§āĻŽāĻ¨ Terminal āĻ node āĻ˛āĻŋāĻā§ āĻāĻ¨ā§āĻāĻžāĻ° āĻĻāĻŋāĻ˛ā§ āĻāĻāĻāĻŋ REPL āĻāĻ¨āĻāĻžā§āĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻļā§āĻ°ā§ āĻšā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¯ā§āĻā§āĻ¨ā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻ¤āĻž āĻ°āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ
ā§§. SQL āĻ MySQL āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ ?
āĻāĻâ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻŦāĻ˛āĻ˛ā§, āĻāĻāĻāĻŋ āĻšāĻ˛ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ, āĻ āĻ¨ā§āĻ¯āĻāĻŋ āĻšāĻ˛ā§ āĻ˛ā§āĻ¯āĻžāĻāĻā§ā§ā§āĻāĨ¤
đ SQL ( Structured query language ) â āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻšāĻā§āĻā§ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻĄ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻ˛ā§āĻ¯āĻžāĻāĻā§ā§ā§āĻāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻāĻā§ā§ā§āĻāĨ¤ āĻ¯āĻž āĻĻāĻŋā§ā§ āĻā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ§āĻ°āĻŖā§āĻ° āĻĄā§āĻāĻžāĻŦā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¤ā§āĻ°āĻŋ, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻāĻĒāĻĄā§āĻ, āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĄāĻŋāĻ˛āĻŋāĻ, āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ āĻ°ā§āĻĨāĻžā§ āĻĄā§āĻāĻžāĻŦā§āĻ¸ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻĄāĻžāĻāĻžāĻā§ āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžā§ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ SQL āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšā§āĨ¤
đ MySQL ( My Structured Query Language ) â āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄā§āĻāĻžāĻŦā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ (RDBMS)āĨ¤ āĻ¸āĻšāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻŦāĻ˛āĻ˛ā§ āĻāĻāĻž āĻāĻāĻāĻž āĻ¸āĻĢāĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĄāĻžāĻāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§āĻļāĻ¨, āĻ¸ā§āĻā§āĻ°ā§āĻ , āĻŽāĻĄāĻŋāĻĢāĻŋāĻā§āĻļāĻ¨, āĻĄāĻŋāĻ˛āĻŋāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻāĻāĻž āĻā§āĻŦā§āĻ˛āĻžāĻ° āĻĢāĻ°āĻŽā§āĻ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĨ¤ āĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛ā§āĻ āĻāĻŽāĻ°āĻž SQL āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ°āĻŋāĨ¤ āĻāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻā§â āĻāĻ°āĻžāĻāĻ˛, āĻāĻ¸āĻāĻŋāĻ-āĻ˛āĻžāĻāĻ, āĻĒā§āĻ¸ā§āĻāĻāĻŋāĻāĻ°āĻ-āĻāĻ¸āĻāĻŋāĻāĻāĻ˛, āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻĢāĻ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°, āĻāĻāĻŦāĻŋāĻāĻŽ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻĢāĻ āĻāĻā§āĻ¸ā§āĻ¸ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
đ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ°ā§āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻŋāĻāĻŋāĻ āĻāĻ°ā§āĻ¨ - phitron.io
āĻāĻ Yeasin
ā§§āĻŽ āĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻ˛āĻā§āĻˇ āĻāĻ°āĻŋāĻ
const takeInput = (input ) => {
console.log(input);
};
takeinput()
āĻāĻā§ āĻāĻāĻŋ āĻ˛āĻā§āĻˇ āĻāĻ°āĻŋ, āĻāĻāĻžāĻ¨ā§ āĻ¯āĻĻāĻŋ takeInput āĻā§ call āĻāĻ°āĻž āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ input āĻāĻ° value By default āĻšāĻŋāĻ¸ā§āĻŦā§ undefined āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĨāĻžāĻāĻŦā§ āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ā§ āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻŋāĻ¨āĻŋ āĨ¤ āĻ¤āĻžāĻ āĻāĻāĻžāĻ¨ā§ input āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻšāĻŋāĻ¸ā§āĻŦā§ undefined āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĨāĻžāĻāĻŦā§ āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋāĻ° default value āĻĻāĻŋā§ā§ āĻĻāĻŋāĻ˛ā§ āĻāĻ° āĻĒāĻ° āĻ¯āĻĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻ paramitar āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ undefined āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻ default value āĻāĻŋ āĻ¨āĻŋā§ā§ āĻĻā§āĻāĻžāĻŦā§ āĨ¤
āĻ¤āĻžāĻ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° input āĻāĻ° default value āĻĻā§ā§āĻž āĻāĻŋāĻ˛ āĻāĻ āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž takeInput āĻā§ call āĻāĻ°āĻ˛ā§ āĻāĻāĻŋ undefined āĻ¨āĻž āĻšā§ā§ Yeasin āĻĻā§āĻāĻžāĻŦā§ āĨ¤