<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های rezabarzakhi</title><link>https://virgool.ir/feed/@rezabarzakhi</link><description></description><language>fa</language><pubDate>2026-11-12 06:51:59</pubDate><image><url>https://files.virgool.ir/upload/users/1060523/avatar/0gVBpr.jpg</url><title>rezabarzakhi</title><link>https://virgool.ir/@rezabarzakhi</link></image><item><title>چطوری تو ReactJS داده‌ها رو فچ کنیم؟</title><link>https://virgool.ir/@rezabarzakhi/چطوری-تو-reactjs-داده-ها-رو-فچ-کنیم-ouyjwolfhlav</link><description>چطوری تو ReactJS داده‌ها رو فچ کنیم؟اگه شما هم دارین با ReactJS کار می‌کنین و دنبال یه راه راحت و مؤثر برای دریافت داده‌ها از سرور هستین، این مطلب می‌تونه حسابی کمکتون کنه. فچ کردن داده‌ها تو ReactJS یکی از کارهایی هست که هر فرانت اند دولوپری باید بلد باشه.فچ کردن داده‌ها تو ReactJS: چرا و چطوری؟چرا فچ کردن داده‌ها مهمه؟توی برنامه‌های وب، خیلی از اطلاعات باید به صورت پویا از یه سرور یا API گرفته بشن. برای همین، فچ کردن داده‌ها خیلی مهمه. ReactJS هم کلی ابزار و روش به ما می‌ده که بتونیم این کار رو به راحتی انجام بدیم و داده‌ها رو به بهترین شکل تو برنامه‌مون مدیریت کنیم.روش‌های مختلف برای فچ کردن داده‌هاتو ReactJS می‌تونیم از روش‌های مختلفی برای فچ کردن داده‌ها استفاده کنیم. مثلاً می‌تونیم از Fetch API، Axios، یا حتی GraphQL استفاده کنیم. هر کدوم از این روش‌ها مزایای خودشون رو دارن، ولی ما تو این مقاله بیشتر روی Fetch API تمرکز می‌کنیم.استفاده از Fetch API برای دریافت داده‌هاساختار Fetch API تو ReactJSFetch API یه ابزار ساده و پرکاربرد تو جاوااسکریپته که به ما اجازه می‌ده درخواست‌های HTTP بفرستیم و داده‌ها رو از سرور بگیریم. ساختار اصلی Fetch API تو ReactJS به این شکل هست:fetch(&#39;API-URL&#39;)&#xA;  .then(response =&gt; response.json())&#xA;  .then(data =&gt; console.log(data))&#xA;  .catch(error =&gt; console.error(&#39;Error:&#39;, error));یه مثال عملی با Fetch APIحالا بیایید یه مثال واقعی بزنیم. فرض کنیم می‌خوایم لیستی از کاربران رو از یه API بگیریم و توی صفحه نشون بدیم:import React, { useState, useEffect } from &#39;react&#39;;&#xA;&#xA;function UsersList() {&#xA;  const [users, setUsers] = useState([]);&#xA;&#xA;  useEffect(() =&gt; {&#xA;    fetch(&#39;API-URL&#39;)&#xA;      .then(response =&gt; response.json())&#xA;      .then(data =&gt; setUsers(data))&#xA;      .catch(error =&gt; console.error(&#39;Error:&#39;, error));&#xA;  }, []);&#xA;&#xA;  return (&#xA;    &lt;ul&gt;&#xA;      {users.map(user =&gt; (&#xA;        &lt;li key={user.id}&gt;{user.name}&lt;/li&gt;&#xA;      ))}&#xA;    &lt;/ul&gt;&#xA;  );&#xA;}&#xA;&#xA;export default UsersList;مدیریت داده‌ها بعد از فچ کردناستفاده از state برای نگه‌داری داده‌هاوقتی داده‌ها رو فچ کردیم، باید جایی نگهشون داریم تا بتونیم توی رابط کاربری نمایش بدیم. اینجاست که useState تو ReactJS به کمکمون میاد و به ما این امکان رو می‌ده که داده‌های دریافت‌شده رو به صورت داینامیک مدیریت کنیم.مدیریت خطاها و نمایش لودر موقع دریافت داده‌هایکی از چیزای مهم تو فچ کردن داده‌ها، مدیریت خطاها و نمایش وضعیت لودینگ هست. می‌تونیم با استفاده از state‌های مختلف وضعیت لودینگ و خطاها رو به خوبی مدیریت کنیم. بیایید یه مثال کامل با لودر و مدیریت خطاها بزنیم:import React, { useState, useEffect } from &#39;react&#39;;&#xA;&#xA;function UsersList() {&#xA;  const [users, setUsers] = useState([]);&#xA;  const [loading, setLoading] = useState(true);&#xA;  const [error, setError] = useState(null);&#xA;&#xA;  useEffect(() =&gt; {&#xA;    fetch(&#39;API-URL&#39;)&#xA;      .then(response =&gt; {&#xA;        if (!response.ok) {&#xA;          throw new Error(&#39;Network response was not ok&#39;);&#xA;        }&#xA;        return response.json();&#xA;      })&#xA;      .then(data =&gt; {&#xA;        setUsers(data);&#xA;        setLoading(false);&#xA;      })&#xA;      .catch(error =&gt; {&#xA;        setError(error.message);&#xA;        setLoading(false);&#xA;      });&#xA;  }, []);&#xA;&#xA;  if (loading) {&#xA;    return &lt;p&gt;در حال بارگذاری...&lt;/p&gt;;&#xA;  }&#xA;&#xA;  if (error) {&#xA;    return &lt;p&gt;خطایی رخ داد: {error}&lt;/p&gt;;&#xA;  }&#xA;&#xA;  return (&#xA;    &lt;ul&gt;&#xA;      {users.map(user =&gt; (&#xA;        &lt;li key={user.id}&gt;{user.name}&lt;/li&gt;&#xA;      ))}&#xA;    &lt;/ul&gt;&#xA;  );&#xA;}&#xA;&#xA;export default UsersList;توی این مثال، از سه state مختلف استفاده کردیم: یکی برای نگه‌داری لیست کاربران (users)، یکی برای مدیریت وضعیت لودینگ (loading)، و یکی هم برای مدیریت خطاها (error). وقتی که داده‌ها در حال فچ شدن هستن، لودر نمایش داده می‌شه. اگه خطایی رخ بده، پیام خطا نمایش داده می‌شه. و وقتی که داده‌ها با موفقیت دریافت بشن، لیست کاربران نمایش داده می‌شه. این روش به ما کمک می‌کنه تا تجربه کاربری بهتری رو ارائه بدیم و کاربرها رو تو جریان وضعیت درخواست‌ها قرار بدیم.</description><category>rezabarzakhi</category><author>rezabarzakhi</author><pubDate>Tue, 20 Aug 2024 11:20:25 +0330</pubDate></item></channel></rss>