اذهب إلى المحتوى
  • 0

معالجة خطأ يظهر في console عند تنفيذ مشروع رياكت جديد

محمود_سعداوي

السؤال

السلام عليكم.

كيف يمكن إصلاح الخطأ التالي

Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead.
Until you switch to the new API, your app will behave as if it's running React 17.
Learn more: https://reactjs.org/link/switch-to-createroot

شكرا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

إن هذا ليس خطأ و إنما مجرد تحذير، حيث يجب على التطبيق أن يعمل بالرغم من وجوده.

يقول لك هذا التحذير بأنك تستعمل ReactDOM.render لعرض المكونات و هذه الطريقة قد تم التخلي عنها في النسخة الجديدة من react، أي يبدو أنك تتبع كورس يعتمد على النسخة الأقدم و هي react 17، لا مشكلة فهنا سيقوم التطبيق تلقائياً بالتصرف و كأنه مبني بال react 17 .

يمكنك استعمال createRoot بدلاً من ذلك كي يصبح الكود متوافقاً مع react 18.

قبل كنا نكتب مثلاً:

import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);

الآن ليصبح الكود متوافقاً مع  react 18 نكتب ما يلي:

import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container); 
root.render(<App tab="home" />);

لاحظ أننا نجلب ال container ثم نضعها على أنها root ثم نقوم بعمل render.

يمكنك الاطلاع على الاختلافات بشكل كامل و كيفية الانتقال إلى النسخة react 18 من هنا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...