我有這樣的代碼,
const [selectedRowId, setSelectedRowId] = React.useState<any | undefined>(
undefined
); //what should be the type here instead of 'any'
const handleRowClick = React.useCallback(
row => {
setSelectedRowId({
type: row?.original?.type.toLowerCase(),
id: row?.original?.originalId,
name: row?.original?.name,
});
},
[setSelectedRowId]
);
return (
{selectedRowId && (
<>
<TabList>
<Tab>Controls ({selectedRowId.name})</Tab> //error here
</TabList>
</>
)}
);
在這里,selectedRowId 的型別應該是什么,而不是“任何”。
我努力了
const [selectedRowId, setSelectedRowId] = React.useState<object | undefined>(
undefined
);
但這給出了錯誤屬性名稱不存在在線型別物件上
控制元件 ({selectedRowId.name})
有人可以幫我解決這個問題。謝謝。
uj5u.com熱心網友回復:
嘗試在使用 useState 之前定義您的物件,然后將該物件傳遞給 useState。例如在你的情況下:
interface rowType{
type: String;
id: number;
name: Boolean;
}
const [selectedRowId, setSelectedRowId] = React.useState<rowType | undefined>(
undefined
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/416664.html
標籤:
