ant-design/.dumi/theme/common/JSONEditor/index.tsx
lijianan 130c22ab03
style: Code style optimization (#40083)
* style: Code style optimization

* add

* rename

* rename

* revert

* revert

* revert

* add
2023-01-08 15:36:50 +08:00

27 lines
719 B
TypeScript

import React, { useEffect, useRef } from 'react';
import { JSONEditor, Mode } from 'vanilla-jsoneditor';
import type { JSONEditorPropsOptional } from 'vanilla-jsoneditor';
const Editor: React.FC<JSONEditorPropsOptional> = (props) => {
const editorRef = useRef<JSONEditor>(null);
const container = useRef<HTMLDivElement>(null);
useEffect(() => {
editorRef.current = new JSONEditor({
target: container.current,
props: { mode: Mode.text },
});
return () => {
editorRef.current?.destroy();
};
}, []);
useEffect(() => {
editorRef.current?.updateProps(props);
}, [props]);
return <div ref={container} className="vanilla-jsoneditor-react" />;
};
export default Editor;