我是打字稿的新手,在這里我向我的一個專案添加了型別,它在圖形中的一種型別上給了我錯誤:“”:型別“字串”不可分配給型別“{模型:{節點:[ ]; 鏈接:[]; }; }'.ts(2322)
The expected type comes from property 'graph' which is declared here on type 'InitialGraphArticleState'
任何幫助/建議都得到了認可。
interface InitialGraphArticleState {
graph: { model: { nodes: []; links: [] } };
currentNode: string;
currentLink: string;
currentCameraNode: string;
currentCameraLinks: [];
floorplan: string;
}
const initialGraphArticleState: InitialGraphArticleState = {
graph: "",
currentNode: "",
currentLink: "",
currentCameraNode: "",
currentCameraLinks: [],
floorplan: "",
};
export function graphArticleReducer(
state = initialGraphArticleState,
action: graphArticleReducerAction
) {
}
uj5u.com熱心網友回復:
在您的initialGraphArticleState物件中,該屬性graph與介面定義不匹配:您基本上是將 a 分配給string型別為 的屬性{ model: { nodes: []; links: [] } }。
您可以按如下方式更改物件初始化:
interface InitialGraphArticleState {
graph: { model: { nodes: [], links: [] } };
currentNode: string;
currentLink: string;
currentCameraNode: string;
currentCameraLinks: [];
floorplan: string;
}
const initialGraphArticleState: InitialGraphArticleState = {
graph: { model: { nodes: []; links: [] } },
currentNode: "",
currentLink: "",
currentCameraNode: "",
currentCameraLinks: [],
floorplan: "",
};
或者更新您的介面定義以允許null圖形物件并初始化為該物件:
interface InitialGraphArticleState {
graph: { model: { nodes: [], links: [] } } | null;
currentNode: string;
currentLink: string;
currentCameraNode: string;
currentCameraLinks: [];
floorplan: string;
}
const initialGraphArticleState: InitialGraphArticleState = {
graph: null,
currentNode: "",
currentLink: "",
currentCameraNode: "",
currentCameraLinks: [],
floorplan: "",
};
考慮到您如何graph在 reducer中使用該屬性,我會建議第一種解決方案,否則您需要在嘗試使用其屬性之前檢查該屬性是否為空。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335665.html
標籤:javascript 反应 打字稿 功能 redux-工具包
上一篇:聚乙二醇|在決議器中實作變數
