[英]Add property to React Typescript Interface
我想我使用了正確的語法/術語,如果沒有,請告訴我。 我正在將一個項目轉換為 typescript 並且一切正常 - index.tsx 文件當前將 React.icons 設置為來自 coreui 庫的自定義圖標的 object。 使用 typescript, Property 'icons' does not exist on type 'typeof React'.
我想我需要擴展 React 接口/類型聲明以將icons
包含為typeof React
。
錯誤出現在下面代碼中React.icons = icons
的第一個icons
下。 如果有人能指出我正確的方向,我會很高興。
import "react-app-polyfill/ie11"; // For IE 11 support
import "react-app-polyfill/stable";
import "core-js";
import "./polyfill";
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
import store from "./store";
import { icons } from "./assets/icons";
interface IReactIcons extends React {
icons: object;
}
React.icons = icons;
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById("root")
);
serviceWorker.unregister();
嘗試在下面添加模塊增強:
import "react-app-polyfill/ie11"; // For IE 11 support
import "react-app-polyfill/stable";
import "core-js";
import "./polyfill";
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
import store from "./store";
import { icons } from "./assets/icons";
declare module "react" {
interface React {
icons: {};
}
}
React.icons = icons;
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById("root")
);
serviceWorker.unregister()
您不能使用模態增強,因為正如文檔所述:
好消息是您可以改用全局增強
declare global {
namespace React {
let icons:any;
}
}
如果您知道您的icons
是什么類型,請使用它而不是any
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.