Package Exports
- @lexical/react/LexicalAutoEmbedPlugin
 - @lexical/react/LexicalAutoEmbedPlugin.js
 - @lexical/react/LexicalAutoFocusPlugin
 - @lexical/react/LexicalAutoFocusPlugin.js
 - @lexical/react/LexicalAutoLinkPlugin
 - @lexical/react/LexicalAutoLinkPlugin.js
 - @lexical/react/LexicalBlockWithAlignableContents
 - @lexical/react/LexicalBlockWithAlignableContents.js
 - @lexical/react/LexicalCharacterLimitPlugin
 - @lexical/react/LexicalCharacterLimitPlugin.js
 - @lexical/react/LexicalCheckListPlugin
 - @lexical/react/LexicalCheckListPlugin.js
 - @lexical/react/LexicalClearEditorPlugin
 - @lexical/react/LexicalClearEditorPlugin.js
 - @lexical/react/LexicalClickableLinkPlugin
 - @lexical/react/LexicalClickableLinkPlugin.js
 - @lexical/react/LexicalCollaborationContext
 - @lexical/react/LexicalCollaborationContext.js
 - @lexical/react/LexicalCollaborationPlugin
 - @lexical/react/LexicalCollaborationPlugin.js
 - @lexical/react/LexicalComposer
 - @lexical/react/LexicalComposer.js
 - @lexical/react/LexicalComposerContext
 - @lexical/react/LexicalComposerContext.js
 - @lexical/react/LexicalContentEditable
 - @lexical/react/LexicalContentEditable.js
 - @lexical/react/LexicalContextMenuPlugin
 - @lexical/react/LexicalContextMenuPlugin.js
 - @lexical/react/LexicalDecoratorBlockNode
 - @lexical/react/LexicalDecoratorBlockNode.js
 - @lexical/react/LexicalDraggableBlockPlugin
 - @lexical/react/LexicalDraggableBlockPlugin.js
 - @lexical/react/LexicalEditorRefPlugin
 - @lexical/react/LexicalEditorRefPlugin.js
 - @lexical/react/LexicalErrorBoundary
 - @lexical/react/LexicalErrorBoundary.js
 - @lexical/react/LexicalHashtagPlugin
 - @lexical/react/LexicalHashtagPlugin.js
 - @lexical/react/LexicalHistoryPlugin
 - @lexical/react/LexicalHistoryPlugin.js
 - @lexical/react/LexicalHorizontalRuleNode
 - @lexical/react/LexicalHorizontalRuleNode.js
 - @lexical/react/LexicalHorizontalRulePlugin
 - @lexical/react/LexicalHorizontalRulePlugin.js
 - @lexical/react/LexicalLinkPlugin
 - @lexical/react/LexicalLinkPlugin.js
 - @lexical/react/LexicalListPlugin
 - @lexical/react/LexicalListPlugin.js
 - @lexical/react/LexicalMarkdownShortcutPlugin
 - @lexical/react/LexicalMarkdownShortcutPlugin.js
 - @lexical/react/LexicalNestedComposer
 - @lexical/react/LexicalNestedComposer.js
 - @lexical/react/LexicalNodeEventPlugin
 - @lexical/react/LexicalNodeEventPlugin.js
 - @lexical/react/LexicalNodeMenuPlugin
 - @lexical/react/LexicalNodeMenuPlugin.js
 - @lexical/react/LexicalOnChangePlugin
 - @lexical/react/LexicalOnChangePlugin.js
 - @lexical/react/LexicalPlainTextPlugin
 - @lexical/react/LexicalPlainTextPlugin.js
 - @lexical/react/LexicalRichTextPlugin
 - @lexical/react/LexicalRichTextPlugin.js
 - @lexical/react/LexicalSelectionAlwaysOnDisplay
 - @lexical/react/LexicalSelectionAlwaysOnDisplay.js
 - @lexical/react/LexicalTabIndentationPlugin
 - @lexical/react/LexicalTabIndentationPlugin.js
 - @lexical/react/LexicalTableOfContentsPlugin
 - @lexical/react/LexicalTableOfContentsPlugin.js
 - @lexical/react/LexicalTablePlugin
 - @lexical/react/LexicalTablePlugin.js
 - @lexical/react/LexicalTreeView
 - @lexical/react/LexicalTreeView.js
 - @lexical/react/LexicalTypeaheadMenuPlugin
 - @lexical/react/LexicalTypeaheadMenuPlugin.js
 - @lexical/react/useLexicalEditable
 - @lexical/react/useLexicalEditable.js
 - @lexical/react/useLexicalIsTextContentEmpty
 - @lexical/react/useLexicalIsTextContentEmpty.js
 - @lexical/react/useLexicalNodeSelection
 - @lexical/react/useLexicalNodeSelection.js
 - @lexical/react/useLexicalSubscription
 - @lexical/react/useLexicalSubscription.js
 - @lexical/react/useLexicalTextEntity
 - @lexical/react/useLexicalTextEntity.js
 
Readme
@lexical/react
This package provides a set of components and hooks for Lexical that allow for text editing in React applications.
Getting started
Install lexical and @lexical/react:
npm install --save lexical @lexical/reactBelow is an example of a basic plain text editor using lexical and @lexical/react (try it yourself).
import {$getRoot, $getSelection} from 'lexical';
import {useEffect} from 'react';
import {LexicalComposer} from '@lexical/react/LexicalComposer';
import {PlainTextPlugin} from '@lexical/react/LexicalPlainTextPlugin';
import {ContentEditable} from '@lexical/react/LexicalContentEditable';
import {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';
import {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';
import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';
const theme = {
  // Theme styling goes here
  ...
}
// When the editor changes, you can get notified via the
// LexicalOnChangePlugin!
function onChange(editorState) {
  editorState.read(() => {
    // Read the contents of the EditorState here.
    const root = $getRoot();
    const selection = $getSelection();
    console.log(root, selection);
  });
}
// Lexical React plugins are React components, which makes them
// highly composable. Furthermore, you can lazy load plugins if
// desired, so you don't pay the cost for plugins until you
// actually use them.
function MyCustomAutoFocusPlugin() {
  const [editor] = useLexicalComposerContext();
  
useEffect(() => {
    // Focus the editor when the effect fires!
    editor.focus();
  }, [editor]);
  return null;
}
// Catch any errors that occur during Lexical updates and log them
// or throw them as needed. If you don't throw them, Lexical will
// try to recover gracefully without losing user data.
function onError(error) {
  throw error;
}
function Editor() {
  const initialConfig = {
    namespace: 'MyEditor',
    theme,
    onError,
  };
return (
    <LexicalComposer initialConfig={initialConfig}>
      <PlainTextPlugin
        contentEditable={
          <ContentEditable
            aria-placeholder={'Enter some text...'}
            placeholder={<div>Enter some text...</div>}
          />
        }
      />
      <OnChangePlugin onChange={onChange} />
      <HistoryPlugin />
      <MyCustomAutoFocusPlugin />
    </LexicalComposer>
  );
}