#reactjs #typescript #typedoc
Вопрос:
Я пытаюсь задокументировать серию документов api в проекте, над которым работаю , но при использовании команды я typedoc ./src/ts/api --out ./docs
получаю множество ошибок , которые не имеют к этому никакого отношения ./src/ts/api
, в том числе следующие (вся трассировка стека состоит из тысяч строк):
Error: node_modules/@types/react/index.d.ts:2970:19 - error TS2320: Interface 'ElementClass' cannot simultaneously extend types 'Component<any, {}, any>' and 'Component<any, {}, any>'.
Named property 'refs' of types 'Component<any, {}, any>' and 'Component<any, {}, any>' are not identical.
2970 interface ElementClass extends React.Component<any> {
~~~~~~~~~~~~
Error: node_modules/@types/react/index.d.ts:2978:14 - error TS2300: Duplicate identifier 'LibraryManagedAttributes'.
2978 type LibraryManagedAttributes<C, P> = C extends React.MemoExoticComponent<infer T> | React.LazyExoticComponent<infer T>
~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/react-dom/node_modules/@types/react/index.d.ts:3057:14
3057 type LibraryManagedAttributes<C, P> = C extends React.MemoExoticComponent<infer T> | React.LazyExoticComponent<infer T>
~~~~~~~~~~~~~~~~~~~~~~~~
'LibraryManagedAttributes' was also declared here.
Есть еще одна часть:
Error: node_modules/react-simplemde-editor/typings/SimpleMdeReact.d.ts:9:152 - error TS1109: Expression expected.
9 [TKey in string amp; DOMEvent amp; keyof GlobalEventHandlersEventMap as `${TKey}`]?: (instance: Editor, event: GlobalEventHandlersEventMap[TKey]) => void;
Комментарии:
1. Какие версии @types/react и @types/react-dom вы установили? Похоже, что @types/react-dom имеет свою собственную комплектную версию @types/react, которая конфликтует с вашей версией @types/react.
2. Большое вам спасибо, @Gerrit0! Есть и еще одна часть, которая меня смущает. Я отредактировал свой пост, чтобы включить это. Вы можете помочь?
3. Похоже, вы используете версию TypeScript старше 4.1, вам нужно будет обновить ее, чтобы использовать react-simplemde-редактор
4. Я обновил все свои зависимости, но, похоже, они все еще конфликтуют. Есть ли какой-нибудь способ это исправить?
5. Вы можете включить проверку пропусков в своем tsconfig, но это может привести к поломке, так как он говорит TS игнорировать реальные ошибки…