đReact memo()
Not Hook but useful in react
ááťááąáŹáşáááŻáˇ Hook áááŻááşáá˛áá˛áˇ áĄááŻáśá¸ááťáŹá¸áá˛áˇ ááŹááąá¸áá áşááŻáážáááŤáááş áĄá˛ááŤá react memo áááŻááŹááąá¸ááŤáá˛
áá°á áááşáááŻááťááŻá¸áĄááŻááşááŻááşááąá¸ááŹáááşá¸áááŻááąáŹáˇ ááťááąáŹáşáááŻáˇ ááąáŹááşáááŻááşá¸ react application áá˝áąááąá¸ááŹááźáá˛áˇáĄááŤáážáŹ performance áĄáááŻááşá¸áá˛áˇáááşáááşááźáŽá¸ááąáŹáˇ áááşá¸áááşá¸ááąá¸ áááąáŹááşáá ááźá áşááźááŹáážáááźááŤáááş
ááŹáááŻáˇáááŻááąáŹáˇ react á state áá˝áą changes ááźá áşáá˝áŹá¸áá˛áˇáĄááŤáááŻááşá¸áážáŹ áá°áˇáá˛áˇ component áá˝áąááᯠre-render
ááŻááşááąá¸ááŤáááş
áĽáááŹááźáąáŹááááş ááťááąáŹáşáááŻáˇáážáŹ listing application áá áşááŻáážáááŤáááşáááŻááŤá ááŻáˇ
áĄá˛ááŽáĄáá˛áážáŹááťááąáŹáşáááŻáˇá list áá˝áą á áĄááťáŹá¸ááźáŽá¸áážááá˛áˇáĄááŤáážáŹ ááťááąáŹáşáááŻáˇá áááŻááŻáááŻáááş ááźáŽá¸ááąáŹáˇ add áááŻáˇááŻááşááźáá˛áˇáĄááŤáážáŹ ááťááąáŹáşáááŻáˇá state áĄááŻáśá¸ááźáŻááźáŽá¸ááąáŹáˇ input áážáŹá áŹáá˝áąáááŻááşáá˛áˇáĄá፠áĄáąáŹááşá list ááźáŽá¸áááŻá፠áááŤáááşá¸ re-render ááŻááşááąááŤááááˇáşáááş
list count ( áĄááąáĄáá˝ááş ) ááááşá¸ááą áááşááá ášá ááážá ááąáááˇáş áĄáááşá¸ááťáŹá¸ááŹáá˛áˇáĄááŤááťáááş ááťááąáŹáşáááŻáˇ á áŹáááŻáśá¸ áááŻ
áááŻááşáááŻááşááŹáá˛áˇááᯠlisting ááźáŽá¸áá áşááŻááŻáśá¸ááᯠre-render ááŻááşááąááŹááźá áşáá˛áˇáĄáá˝ááş performance áĄááááąáŹááşá¸ááźá áş
ááŹááŤááááˇáşáááş
áĄáá˝ááşááźáąáŹááááş site ááźáŽá¸á ááąá¸áááş ááŹááŹááąáŤáˇ
áĄá˛áááŻááťááŻá¸áááźá áşáááąáĄáąáŹááş ááťááąáŹáşáááŻáˇá áĄááŻáśá¸ááźáŻááźáá˛áˇ áĄááŹáá˝áąáážáááŤáááş
áĄáᯠááźáąáŹááźáááˇáş react memo áááŻááŹááąá¸ááááşá¸ ááŽáááąáŹáááŹá¸áá˛áážáŹ ááŤááŤáááş
áá°á áááşáááŻááťááŻá¸áĄááŻááşááŻááşááąá¸ááŹáááşá¸áááŻááąáŹáˇ áá°á function component áááŻááŻáśá¸ááᯠáážááşááŹá¸ááźáŽá¸ááąáŹáˇ
áá°áážááşááŹá¸áá˛áˇ component áá˛áážáŹááźáąáŹááşá¸áá˛áážáŻáááŻáážááážá áá°á¸áááŻáááş áá°á áĄá˛ááŤááᯠre-render áááŻááşááąá¸áá˝áŹá¸ááŤáá°á¸
ááŽááąáŹááşáááŻáááşááąáŹáˇááŹá¸áááşáááşáááşááŤáááş
ááŤááᯠááťááąáŹáşáááŻáˇ ááŻááşáááŻááşááźááĄáąáŹááş
áĄáááşááŻáśá¸ ááťááąáŹáşáááŻáˇ parent component áá˛áˇ memo component ááᯠááŽáááŻááąá¸ááąá¸áááŻááşááŤáááş


ááťááąáŹáşáááŻáˇ ááŽáááŻááąá¸ááąá¸ááźáŽá¸áá˛áˇáĄááŤáážáŹ ááťááąáŹáşáááŻáˇ browser áážáŹ áá˝áŹá¸ááźáŽá¸ááąáŹáˇ á ááşá¸ááźááˇáşáááŻááşááĄáąáŹááş
áĄáááşááŻáśá¸ ááťááąáŹáşáááŻáˇ name ááᯠáááˇáşáá˛áˇáĄááŤáážáŹ component áááŻááŻáśá¸á render ááŻááşáá˝áŹá¸ááŹáááŻááźááşáááŤááááˇáşáááş

ááťááąáŹáşáááŻáˇ console ááᯠclear ááŻááşááźáŽá¸ááąáŹáˇ age ááᯠáááˇáşááźááˇáşáá˛áˇáĄá፠parent component áááŻáááşá¸áá˛
re-render ááŻááşáá˝áŹá¸ááŹáááŻááźááşáááŤááááˇáşáááş

ááŽááąáŹááşáááŻáááş ááťááąáŹáşáááŻáˇáá˛áˇ react áá˛áˇ memo áááŻáá˛áˇ function ( method ) ááąá¸ááᯠááŹá¸áááşáá˝áŹá¸áááşáááŻáˇáááşááŤáááş
ááŤáááŻáááşááťááąáŹáşáááŻáˇá component áááŻááşá¸ááᯠmemo áá˛áˇááŻááşáááŻááşáááşáááŻáááşááąáŹ áĄáááşáááźáąáá°á¸ááŹá¸áááŻáˇááąá¸á ááŹáážá
ááŹááŤááááˇáşáááş
áĄáááşááąáŹáˇáááźáąááąáŹááşááŤáá°á¸ááŹáááŻáˇáááŻááąáŹ ááťááąáŹáşáááŻáˇááąá¸áááŻááşáá˛áˇ application áá áşááŻá ááźáąáŹááşá¸áá˛áážáŻ ááážááá°á¸
áááŻáááş portfolio áááŻáˇáááŻááťááŻá¸ static site ááŹááŹáá˛ááźá áşáá˝áŹá¸ááŤááááˇáşáááş
ááźáąáŹááťááşááŹá ááťááąáŹáşáááŻáˇ ááááŻáĄááşáá˛áá˛áˇ re-render component áá˝áą áááá ááźá áşáá˛áˇáĄááŤáá˝áąáážáŹ áá˛
áĄááŻáśá¸ááźáŻááąá¸ááŹá áááŻáĄáááşááźáąááŤááááˇáşáááş
ááťááąáŹáşáááŻáˇá memo ááᯠááŹááźáąáŹááˇáşáĄááŻáśá¸ááźáŻáááŹáááşá¸áááŻááąáŹáˇ javascript ááźáąáŹááˇáşáááŻáˇáá˛ááźáąáŹááŤáá áą
ááťááąáŹáşáááŻáˇ áá˛áˇ javascript á Object == Object áááŻáááş false ááźááşáááᯠfunction == function áááŻáááşáááşá¸
false áᲠááźááŤááááˇáşáááş áĄá˛áĄáá˝ááşááźáąáŹááˇáş function áá áşááŻááŻáśá¸ááᯠáážááşááŹá¸ááąá¸áááŻááşáááˇáş memo áááŻááŹááąá¸áááŻáĄááŻáśá¸ááźáŻ
áááŻáˇáĄáá˝ááş áá˝ááşááŹááŹááŤ
ááŹáááŻáˇáááŻááąáŹáˇ react áá˛áˇ component áá˝áąá functional base ááźá áşáá˛áˇáĄáá˝ááşááźáąáŹááˇáşááŤ
ááŽááąáŹááşáááŻáááşááąáŹáˇ react memo áĄááźáąáŹááşá¸ááąá¸ááᯠááŹá¸áááşáá˝áŹá¸áááşáááŻáˇáááşááŤáááş
Last updated