Sobes.tech
Middle

Με ποια hooks δουλέψατε σε λειτουργικά συστατικά; Ποιο ήταν το πιο ασυνήθιστο;

sobes.tech AI

Απάντηση από AI

Στις λειτουργικές συνιστώσες του React, συχνά χρησιμοποιούνται τα ακόλουθα hooks:

  • useState — για διαχείριση κατάστασης.
  • useEffect — για παρενέργειες (αιτήματα, εγγραφές).
  • useContext — για πρόσβαση στο context.
  • useRef — για αποθήκευση μεταβλητών και πρόσβαση στο DOM.
  • useMemo και useCallback — για βελτιστοποίηση απόδοσης.

Το πιο ασυνήθιστο hook που έχω δουλέψει μπορεί να είναι το useImperativeHandle. Επιτρέπει την διαμόρφωση της στιγμιότυπης που θα είναι διαθέσιμη στον γονέα μέσω του ref. Αυτό είναι χρήσιμο όταν χρειάζεται να ελέγχετε ποιες μέθοδοι ή ιδιότητες είναι προσβάσιμες από έξω, ειδικά όταν δουλεύετε με wrappers πάνω σε στοιχεία DOM ή βιβλιοθήκες τρίτων.

Παράδειγμα χρήσης του useImperativeHandle:

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} />;
});

// Ο γονικός συνιστώνας μπορεί να καλέσει τη μέθοδο focus:
// const ref = React.createRef();
// <FancyInput ref={ref} />
// ref.current.focus();