UNPKG

@lexical/react

Version:

This package provides Lexical components and hooks for React applications.

36 lines (31 loc) • 1.03 kB
/** * 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 type {LexicalEditor} from 'lexical'; import { type LexicalSubscription, useLexicalSubscription, } from './useLexicalSubscription'; function subscription(editor: LexicalEditor): LexicalSubscription<boolean> { return { initialValueFn: () => editor.isEditable(), subscribe: callback => { return editor.registerEditableListener(callback); }, }; } /** * Get the current value for {@link LexicalEditor.isEditable} * using {@link useLexicalSubscription}. * You should prefer this over manually observing the value with * {@link LexicalEditor.registerEditableListener}, * which is a bit tricky to do correctly, particularly when using * React StrictMode (the default for development) or concurrency. */ export function useLexicalEditable(): boolean { return useLexicalSubscription(subscription); }