Skip to content

Escape Hatches ใน React

Escape Hatches คือวิธีการที่ React เปิดให้เราสามารถเข้าถึงและจัดการกับ DOM โดยตรงได้ในบางกรณี แม้ว่าโดยปกติแล้ว React จะจัดการเรื่องนี้ให้เราเองก็ตาม

การใช้ useRef

useRef เป็น Hook ที่ใช้สำหรับเก็บค่าที่สามารถเปลี่ยนแปลงได้โดยไม่ทำให้เกิดการ re-render และยังใช้เพื่ออ้างอิงถึง DOM elements โดยตรง

js
import React, { useRef, useEffect } from 'react';

function FocusInput() {
  const inputRef = useRef(null);

  useEffect(() => {
    // ใช้ ref เพื่อเข้าถึง DOM node โดยตรง
    inputRef.current.focus();
  }, []);

  return <input ref={inputRef} />;
}

export default FocusInput;

useEffect สำหรับ Side Effects

useEffect ใช้สำหรับจัดการกับ side effects ในคอมโพเนนต์ เช่น การเปลี่ยนแปลง DOM โดยตรง การตั้งค่า subscriptions หรือ timers

Released under the MIT License