Function: LexicalExtensionComposer()
LexicalExtensionComposer(
__namedParameters
):Element
The equivalent of LexicalComposer for an extension. Make sure that your extension argument is stable (e.g. using module scope or useMemo) so that you are not re-creating the editor on every render!
Parameters
• __namedParameters: LexicalExtensionComposerProps
Returns
Element
Examples
const extension = defineExtension({
name: "[root]",
dependencies: [RichTextExtension, HistoryExtension, EmojiExtension]
});
function MyEditor({ children }) {
return (<LexicalExtensionComposer extension={extension}>{children}</LexicalExtensionComposer>);
}
function MyEditor({ emojiBaseUrl, children }) {
const extension = useMemo(() => {
return defineExtension({
name: "[root]",
dependencies: [
RichTextExtension,
HistoryExtension,
configExtension(EmojiExtension, { emojiBaseUrl }),
],
});
}, [emojiBaseUrl]);
return (<LexicalExtensionComposer extension={extension}>{children}</LexicalExtensionComposer>);
}
function MyBrokenEditor({ emojiBaseUrl }) {
// This argument is not stable, the editor is re-created every render and
// all state is lost!
const extension = defineExtension({
name: "[root]",
dependencies: [RichTextExtension, HistoryExtension, EmojiExtension]
});
return (<LexicalExtensionComposer extension={extension}>{children}</LexicalExtensionComposer>);
}