سؤال عن الطريقة الأفضل من حيث الأداء لاستيراد البيانات الكبيرة من restful api في reactjs

السلام عليكم

بالنسبة لـ react js او اي اطار اخر ما هي افضل طريقة وافضل مكان لعمل fetching data من ال api ، كما رأيت في بعض التطبيقات هناك من يقوم باستيراد البيانات عند تشغيل التطبيق وارسالهم عن طريق ال props الى ال child components لكن في حال كان التطبيق يتعامل مع بيانات كبيرة هل يجب ان أقوم بعمل fetching داخل ال component المطلوب او استعمال الredux وتمرير الfunction لتشغيلها داخل الcomponent الذي سوف يتم استخدام البيانات به ام هناك طريقة افضل، اريد ان اعرف كيف يكون السلوك الصحيح في هذه الحالة لتوفير افضل أداء للتطبيق ؟


هذا يعتمد بطريقة كبيرة على المشروع وعلى تفضيلك لطريقة العمل فعادة في react أول شئ تفكر به هو عمل fetch ل data داخل مكون ما بهذه الطريقة

const [users, setUsers] = useState(); 
useEffect(() => {
    const getData = async () => {
      const data = await getAdminUsers();
      const onlyUsers = [];
      data?.content?.map((res) => onlyUsers.push(res.user));
      setUsers(onlyUsers);
      
    };
    getData();
  }, []);

وهذا لابأس فيه في حالةة تطبيق صغير بحيث هذه العملية لا تتكرر كثيرا في المكونات لكن اذا كان لديك مشروع يعتمد بشكل كبير على البيانات فيجب وحتما تنظيمها في مكان واحد وهنا ستحتاج الى state managment store و المكاتب الشهورة لهذه هي redux ويمكن استخدام اما redux-thunk معها او redux-saga ك middlware لكن شخصيا قد مررت مؤخرا بمكتبة state managment تدعى zustand وأنصحك بشدة بالقاء نظرة عليها فهي تجعل الأمور جد بسيطة دون التضحية بأي ميزة من الميز التي يقدمها redux او context api و للاختصار عند البدء في مشروع تراه سيعتمد على كم كبير من req والبيانات فالمنصوح به هو استخدام احدى مكتبات ال state managment واتباع ال best practices الموثقة لتلك المكتبات

شكراً جزيلا لك ، سأجرب استخدام مكتبة zustand  .