Ale*_*lex 5 javascript typescript reactjs typescript-typings
我试图弄清楚如何访问 NPM 模块中定义的类型。
\nTinyMCE 有一个名为 React 组件的编辑器Editor,它包含一个onInit带有两个参数的方法,一个事件和编辑器本身,也是一种Editor类型,但与组件不同。
所以我Editor通过执行以下操作从库中导入组件
import { Editor as TinyMCEEditor } from \'@tinymce/tinymce-react\';\nRun Code Online (Sandbox Code Playgroud)\n我将编辑器定义如下......
\n<TinyMCEEditor\n apiKey="asdf"\n onInit={(evt, editor) => onInitCallBack(evt, editor)}\n ...\n/>\nRun Code Online (Sandbox Code Playgroud)\n然后我尝试定义回调以匹配预期类型
\nconst onInitCallBack = (_, editor: Editor) => {\n ...\n};\nRun Code Online (Sandbox Code Playgroud)\nEditor奇怪的是,当鼠标悬停在上面时,它能够识别类型。
(parameter) editor: Editor\nRun Code Online (Sandbox Code Playgroud)\n以及事件的类型:
\n(parameter) evt: {\n readonly type: string;\n readonly target: any;\n readonly isDefaultPrevented: () => boolean;\n readonly preventDefault: () => void;\n ...etc\n}\nRun Code Online (Sandbox Code Playgroud)\n但是当onInitCallBack我尝试定义类型时Editor,它说找不到名称“Editor”:
import { Editor as TinyMCEEditor } from \'@tinymce/tinymce-react\';\nRun Code Online (Sandbox Code Playgroud)\n我需要做什么才能让它看到EditorNPM 包中定义的类型?
如果我尝试用作TinyMCEEditor类型,则会出现以下错误。
<TinyMCEEditor\n apiKey="asdf"\n onInit={(evt, editor) => onInitCallBack(evt, editor)}\n ...\n/>\nRun Code Online (Sandbox Code Playgroud)\n
Fra*_*ser 10
您混淆了 React 组件编辑器和 tinymce 编辑器 - 请注意它们具有相同的名称。当然你需要像...
import { Editor } from '@tinymce/tinymce-react';
import { Editor as TinyMCEEditor } from 'tinymce';
Run Code Online (Sandbox Code Playgroud)
然后
const editorRef = useRef<TinyMCEEditor | null>(null);
Run Code Online (Sandbox Code Playgroud)
和...
<Editor
onInit={(evt, editor) => editorRef.current = editor}
...
/>
Run Code Online (Sandbox Code Playgroud)
虽然我可能搞砸了这里的语法......
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |