Memo editor

This commit is contained in:
Gregory Schier
2023-03-31 23:19:15 -07:00
parent be436bb706
commit dd99aa7fcd

View File

@@ -5,7 +5,7 @@ import { keymap, placeholder as placeholderExt, tooltips } from '@codemirror/vie
import classnames from 'classnames';
import { EditorView } from 'codemirror';
import type { MutableRefObject } from 'react';
import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
import { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
import { IconButton } from '../IconButton';
import './Editor.css';
import { baseExtensions, getLanguageExtension, multiLineExtensions } from './extensions';
@@ -37,7 +37,7 @@ export interface EditorProps {
autocomplete?: GenericCompletionConfig;
}
export const Editor = forwardRef<EditorView | undefined, EditorProps>(function Editor(
const _Editor = forwardRef<EditorView | undefined, EditorProps>(function Editor(
{
readOnly,
type = 'text',
@@ -177,6 +177,8 @@ export const Editor = forwardRef<EditorView | undefined, EditorProps>(function E
);
});
export const Editor = memo(_Editor);
function getExtensions({
container,
readOnly,