Eu tenho um conteúdo.tsx arquivo com o código a seguir:
import React from "react";
import {createPortal} from 'react-dom';
import Text from './Text';
console.log(`Content script...`);
createPortal(
<Text/>,
document.body
);
"Texto" código do componente:
import React from 'react';
const Text = () => {
return (
<div>
Just text...
</div>
);
};
export default Text;
Meu manifesto inclui:
...other keys
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["./static/js/content.js"],
"run_at": "document_end"
}
]
Como você pode ver, o arquivo é carregado e a mensagem Content script ...
é impressa no console.
https://i.stack.imgur.com/GS0gK.png
Mas a div com o texto Just text...
não foi adicionado ao corpo, em outras palavras, createPortal não funciona.
https://i.stack.imgur.com/j2geh.png