هل تريد طلب ميزة أو الإبلاغ عن خطأ ؟
حشرة.
ما هو السلوك الحالي؟
استدعاء .renderToString()
على <React.Fragment><div>Hello!</div></React.Fragment>
ينتج <div data-reactroot="">Hello!</div>
.
ومع ذلك ، يتم تقديم العديد من التركيبات الأخرى لعنصر جذر DOM ضمن عناصر React "غير المرئية" بدون data-reactroot=""
.
على سبيل المثال ، كل ما يلي ينتج <div>Hello!</div>
(بدون data-reactroot=""
):
<React.Fragment><React.Fragment><div>Hello!</div></React.Fragment></React.Fragment>
<Context.Provider><div>Hello!</div></Context.Provider>
<Context.Consumer>{() => <div>Hello!</div>}</Context.Consumer>
<React.StrictMode><div>Hello!</div></React.StrictMode>
إذا كان السلوك الحالي عبارة عن خطأ ، فالرجاء تقديم خطوات إعادة الإنتاج ، وإن أمكن عرضًا بسيطًا للمشكلة. الصق الرابط إلى JSFiddle (https://jsfiddle.net/Luktwrdm/) أو مثال CodeSandbox (https://codesandbox.io/s/new) أدناه:
أنظر فوق.
ما هو السلوك المتوقع؟
أفترض أن أيًا من الأمثلة المذكورة أعلاه يجب أن ينتج عنه ترميز يتضمن data-reactroot=""
على العنصر div
.
ما إصدارات React وأي متصفح / نظام تشغيل متأثر بهذه المشكلة؟
الإصدار موجود في جميع الإصدارات> = 16.7.0 ، وربما الإصدارات السابقة أيضًا.
هذه مشكلة صغيرة - أعتقد أنها ستؤثر فقط على المكان الذي يتم فيه ترطيب الترميز من جانب العميل باستخدام .render()
بدلاً من .hydrate()
- وهو الاستخدام الذي لا يُنصح به. ومع ذلك ، لا يزال استخدام .render()
لإعادة الترطيب مدعومًا رسميًا.
يمكنني تنفيذ الإصلاح وإجراء العلاقات العامة. لكن هل يمكن لأي شخص أن يؤكد أن السلوك المتوقع هو ما أعتقده ، وأن هذا بالفعل خطأ؟
هذا يبدو وكأنه حشرة. الإصلاح سيكون موضع ترحيب.
حسنا عظيم. شكرا للاستجابة السريعة. سأقدم PR في أقرب وقت ممكن - يجب أن يكون في الأسبوعين المقبلين.
لقد قدمت PR # 15023.
gaearon هل حصل أي شخص على فرصة لإلقاء نظرة على الإصلاح الخاص بي لهذا في PR # 15023؟
الآن بعد أن استخدم رد فعل أبولو واجهة برمجة تطبيقات السياق ، فإن بناياتنا معطلة بسبب هذا.
التعليق الأكثر فائدة
حسنا عظيم. شكرا للاستجابة السريعة. سأقدم PR في أقرب وقت ممكن - يجب أن يكون في الأسبوعين المقبلين.