React Hooks – انجمن DEV

قلاب ویژگی react است که در React 16.8 معرفی شد و این به توسعه دهندگان اجازه می دهد تا از ویژگی های حالت و واکنش دیگر در اجزای عملکردی استفاده کنند. قبل از معرفی Hooks این ویژگیها فقط در کامپوننتهای کلاس موجود بود. Hooks راهی برای مدیریت وضعیت، مدیریت عوارض جانبی و دسترسی به روشهای چرخه حیات در اجزای عملکردی بدون نیاز به اجزای کلاس ارائه میکند.
در اینجا چند قلاب پرکاربرد آورده شده است
- useState – این قلاب به شما این امکان را می دهد که حالت را به مولفه تابعی اضافه کنید و آن را تابع حالت کنید. useState یک متغیر حالت و یک تابع برای به روز رسانی متغیر حالت برمی گرداند.
نحو-
const [stateVariable,functionToUpdateVariable] = useState(initialValue)
const [isOpen,setIsOpen] = useState(false)
مثال-
import React, { useState } from 'react';
const Counter = () => {
const [count, setCount] = useState(0);
const incrementCount = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={incrementCount}>Increment</button>
</div>
);
};
export default Counter
خروجی-
2) useEffect – این قلاب برای کنترل عوارض جانبی در اجزای عملکردی مانند واکشی داده ها، اشتراک در رویدادها یا تغییر دستی DOM استفاده می شود. تابع فراخوانی را می پذیرد و پس از رندر شدن کامپوننت، آن را اجرا می کند.
نحو-
useEffect(callback, dependencies)
useEffect(()=>{},[dependencies])
مثال-
import "./App.css";
import React, { useEffect, useState } from "react";
const DataFetch = () => {
const [data, setData] = useState([]);
useEffect(() => {
// Fetch data from an API
fetch("https://jsonplaceholder.typicode.com/users")
.then((response) => response.json())
.then((data) => {
setData(data);
console.log("Data", data);
});
}, []);
return (
<div>
<h1>Name: {data[0]?.name}</h1>
<h1>Name: {data[1]?.name}</h1>
<h1>Name: {data[2]?.name}</h1>
</div>
);
};
export default DataFetch;
خروجی-
3) useContext- قلاب useContext در React به شما این امکان را می دهد که از یک زمینه در یک جزء عملکردی استفاده کنید. راهی برای دسترسی به مقدار فعلی یک زمینه ایجاد شده با استفاده از تابع ()createContext فراهم می کند.
نحو-
const value = useContext(Context);
مثال-
import React, { useContext } from "react";
// Create a context
const MyContext = React.createContext();
// Create a component that provides the context value
const Parent = () => {
const contextValue = "Hello, My Name is Himanshu Baghel";
return (
<MyContext.Provider value={contextValue}>
<Child />
</MyContext.Provider>
);
};
// Create a component that consumes the context
const Child = () => {
// Consume the context using useContext
const contextValue = useContext(MyContext);
return <p>{contextValue}</p>;
};
// Render the parent component
const App = () => {
return <Parent />;
};
export default App;
خروجی-
متشکرم