Sobes.tech
Middle

Milyen hookokkal dolgozott funkcionális komponensekben? Melyik volt a legkülönlegesebb?

sobes.tech MI

Válasz az MI-től

A React funkcionális komponenseiben gyakran használják a következő hookokat:

  • useState — az állapot kezelésére.
  • useEffect — mellékhatásokhoz (kérések, feliratkozások).
  • useContext — a kontextus eléréséhez.
  • useRef — változtatható értékek tárolására és a DOM elérésére.
  • useMemo és useCallback — a teljesítmény optimalizálására.

A legszokatlanabb hook, amivel dolgoztam, talán a useImperativeHandle. Ez lehetővé teszi, hogy konfiguráljuk az példányt, amely a szülő komponens számára elérhető lesz a ref-en keresztül. Ez akkor hasznos, amikor kontrollálni szeretnénk, hogy milyen metódusok vagy tulajdonságok érhetők el kívülről, különösen DOM-elem vagy harmadik fél könyvtárak fölött végzett munkánál.

A useImperativeHandle használatának példája:

import React, { useImperativeHandle, forwardRef, useRef } from 'react';

const FancyInput = forwardRef((props, ref) => {
  const inputRef = useRef();

  useImperativeHandle(ref, () => ({
    focus: () => {
      inputRef.current.focus();
    }
  }));

  return <input ref={inputRef} {...props} />;
});

// A szülő komponens meghívhatja a focus metódust:
// const ref = React.createRef();
// <FancyInput ref={ref} />
// ref.current.focus();