Я использую recharts для создания диаграмм в моем веб-приложении React. В компоненте «XAxis» повторных диаграмм есть необязательная опора «tickMargin», но определение типа, включенное в пакет npm, не определяет эту опору. Поэтому я попытался добавить эту опору, создав файл определения пользовательского типа (d.ts).
Исходное определение
// {project_folder}/node_modules/recharts/types/cartesian/XAxis.d.ts
export interface Props extends BaseAxisProps {
// some definitions...
}
Моя страница d.ts
// {project_folder}/@types/recharts/index.d.ts
declare module "recharts" {
interface BaseAxisProps {
tickMargin?: number
}
}
.tsx
import {XAxis} from "recharts"
<XAxis tickMargin={3} />
Но тогда компилятор TS говорит error TS2305: Module '"recharts"' has no exported member 'XAxis'.
и для всех других компонентов recharts. Кажется, что мое определение пользовательского типа полностью заменило существующее определение. Я много раз гуглил, но до сих пор не знаю, как решить эту проблему. Как я могу расширить определение типа, не заменяя его? Ниже мой tsconfig. json для справки.
tsconfig. json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "ES6"],
"jsx": "react",
"outDir": "./tsc/",
"baseUrl": "./",
"paths": {
"/*": ["./*", "./@types/*"],
"recharts": ["/node_modules/recharts/types/*", "/@types/recharts/*"]
},
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
}
}