refactor: memorize function

This commit is contained in:
fantasticit 2022-04-13 20:31:57 +08:00
parent 0337629d75
commit 2d89d2057b
1 changed files with 21 additions and 16 deletions

View File

@ -1,6 +1,7 @@
import { NodeViewWrapper, NodeViewContent } from '@tiptap/react'; import { useCallback, useMemo } from 'react';
import cls from 'classnames'; import cls from 'classnames';
import { Input, Typography, Space } from '@douyinfe/semi-ui'; import { NodeViewWrapper, NodeViewContent } from '@tiptap/react';
import { Typography } from '@douyinfe/semi-ui';
import { Resizeable } from 'components/resizeable'; import { Resizeable } from 'components/resizeable';
import styles from './index.module.scss'; import styles from './index.module.scss';
@ -10,10 +11,12 @@ export const IframeWrapper = ({ editor, node, updateAttributes }) => {
const isEditable = editor.isEditable; const isEditable = editor.isEditable;
const { url, width, height } = node.attrs; const { url, width, height } = node.attrs;
const onResize = (size) => { const onResize = useCallback((size) => {
updateAttributes({ width: size.width, height: size.height }); updateAttributes({ width: size.width, height: size.height });
}; }, []);
const content = (
const content = useMemo(
() => (
<NodeViewContent as="div" className={cls(styles.wrap, 'render-wrapper')}> <NodeViewContent as="div" className={cls(styles.wrap, 'render-wrapper')}>
{url ? ( {url ? (
<div className={styles.innerWrap} style={{ pointerEvents: !isEditable ? 'auto' : 'none' }}> <div className={styles.innerWrap} style={{ pointerEvents: !isEditable ? 'auto' : 'none' }}>
@ -25,6 +28,8 @@ export const IframeWrapper = ({ editor, node, updateAttributes }) => {
</div> </div>
)} )}
</NodeViewContent> </NodeViewContent>
),
[url]
); );
if (!isEditable && !url) { if (!isEditable && !url) {