@lexical/react
Version:
This package provides Lexical components and hooks for React applications.
44 lines (38 loc) • 1.18 kB
JavaScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import * as React from 'react';
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
/**
*
* Use this plugin to access the editor instance outside of the
* LexicalComposer. This can help with things like buttons or other
* UI components that need to update or read EditorState but need to
* be positioned outside the LexicalComposer in the React tree.
*/
function EditorRefPlugin({
editorRef
}) {
const [editor] = useLexicalComposerContext();
React.useEffect(() => {
if (typeof editorRef === 'function') {
editorRef(editor);
} else if (typeof editorRef === 'object') {
editorRef.current = editor;
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [editor]);
return null;
}
export { EditorRefPlugin };