React: `data-reactroot =" "` hilang dalam render server jika elemen di dalam `<context.provider>`</context.provider>

Dibuat pada 5 Mar 2019  ·  5Komentar  ·  Sumber: facebook/react

Apakah Anda ingin meminta fitur atau melaporkan bug ?

Bug.

Bagaimana perilaku saat ini?

Memanggil .renderToString() pada <React.Fragment><div>Hello!</div></React.Fragment> menghasilkan <div data-reactroot="">Hello!</div> .

Namun, banyak kombinasi lain dari elemen root DOM dalam elemen React yang "tidak terlihat" dirender tanpa data-reactroot="" .

misal semua produk berikut <div>Hello!</div> (tanpa 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>

Jika perilaku saat ini adalah bug, berikan langkah-langkah untuk mereproduksi dan jika mungkin demo minimal dari masalah tersebut. Tempel tautan ke contoh JSFiddle (https://jsfiddle.net/Luktwrdm/) atau CodeSandbox (https://codesandbox.io/s/new) Anda di bawah ini:

Lihat di atas.

Apa perilaku yang diharapkan?

Saya berasumsi bahwa salah satu contoh di atas harus menghasilkan markup termasuk data-reactroot="" pada elemen div .

Versi React mana, dan browser / OS mana yang terpengaruh oleh masalah ini?

Masalah ada di semua versi> = 16.7.0, kemungkinan versi sebelumnya juga.

Ini adalah masalah kecil - saya kira hanya akan mempengaruhi di mana markup direhidrasi di sisi klien menggunakan .render() daripada .hydrate() - penggunaan yang tidak disarankan. Namun, menggunakan .render() untuk rehidrasi masih didukung secara resmi.

Saya dapat menerapkan perbaikan dan membuat PR. Tapi adakah yang bisa memastikan bahwa perilaku yang diharapkan adalah apa yang saya pikirkan, dan ini memang bug?

Server Rendering Bug

Komentar yang paling membantu

OK bagus. Terima kasih atas tanggapan yang cepat. Saya akan mengirimkan PR secepat saya bisa - seharusnya dalam beberapa minggu ke depan.

Semua 5 komentar

Ini memang terdengar seperti bug. Perbaikan akan diterima.

OK bagus. Terima kasih atas tanggapan yang cepat. Saya akan mengirimkan PR secepat saya bisa - seharusnya dalam beberapa minggu ke depan.

Saya telah mengirimkan PR # 15023.

@gaearon Adakah yang punya kesempatan untuk melihat perbaikan saya untuk ini di PR # 15023?

Sekarang react-apollo menggunakan API Konteks, build kami rusak karena ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat