Neden ReactDOM.createPortal içerik komut dosyamda çalışmıyor mu?

0

Soru

Bir içeriğim var.aşağıdaki koda sahip tsx dosyası:

import React from "react";
import {createPortal} from 'react-dom';

import Text from './Text';

console.log(`Content script...`);

createPortal(
    <Text/>,
    document.body
);

"Metin" bileşen kodu:

import React from 'react';

const Text = () => {
    return (
        <div>
            Just text...
        </div>
    );
};

export default Text;

Manifestom şunları içerir:

...other keys
"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["./static/js/content.js"],
      "run_at": "document_end"
    }
]

Gördüğünüz gibi, dosya yüklenir ve mesaj Content script ... konsolda yazdırılır. https://i.stack.imgur.com/GS0gK.png

Ama metin ile div Just text... vücuda eklenmedi, başka bir deyişle createPortal çalışmıyor. https://i.stack.imgur.com/j2geh.png

1

En iyi cevabı

1

yazmak gerekir createPortal içinde return veya render,

bunun gibi:

render() {
    return ReactDOM.createPortal(
         this.props.children,
         document.body
     );
}
2021-11-15 13:13:41

Sizin için bir codesandbox oluşturdum ve gayet iyi çalışıyor, kontrol edebilir misiniz: codesandbox.io/s/wizardly-cache-2vfby?file=/src/content.jsx
Pradip Dhakal

Ben kontrol kodu çalışmıyor benim durumda, ama ben mümkün olduğunu anlamak için doğanın benim için sorun değil, teşekkürler.
user17418364

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................