我正在嘗試描述子元素的傳入道具,但出現以下錯誤
引數 'props' 隱式有一個 'any' 型別。 ts(7006) (parameter) props: any
// Parent Element
<GeneralButton icon={<TodayIcon />} type='button' onClick={add} text={'add'} />
// Child element
import React from 'react';
// MUI ****************************************************//
import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';
import { Button, Box } from '@material-ui/core';
import { SvgIconProps } from '@material-ui/core/SvgIcon';
const useStyles = makeStyles((theme: Theme) =>
createStyles({
root: {
'& > *': {
margin: theme.spacing(1),
},
},
})
);
interface generalBtnPrpos {
form?: string;
disabled?: boolean;
icon?: React.ReactElement<SvgIconProps>;
type: string;
onClick: () => void;
text: string;
}
export default function GeneralButton<generalBtnPrpos>(props) {
const classes = useStyles();
return (
<Box className={classes.root}>
<Button form={props.form} disabled={props.disabled} type={props.type} onClick={props.onClick} startIcon={props.icon} variant='contained' color='primary'>
{props.text}
</Button>
</Box>
);
}
uj5u.com熱心網友回復:
你應該在你的引數上props輸入代碼,就像這樣
interface generalBtnPrpos {
form?: string;
disabled?: boolean;
icon?: React.ReactElement<SvgIconProps>;
type: string;
onClick: () => void;
text: string;
}
export default function GeneralButton<generalBtnPrpos>(props: generalBtnPrpos) {
.....
uj5u.com熱心網友回復:
你實際上從來沒有在你的GeneralButton組件中輸入 props 。您正在創建一個名為 的泛型,generalBtnPrpos而不是使用您創建的名為 的介面generalBtnPrpos。
要正確輸入道具,您可以generalBtnPrpos在道具之后添加界面并洗掉<generalBtnPrpos>您創建的通用,因為您沒有使用它:
export default function GeneralButton(props: generalBtnPrpos) {
const classes = useStyles();
return (
<Box className={classes.root}>
<Button form={props.form} disabled={props.disabled} type={props.type} onClick={props.onClick} startIcon={props.icon} variant='contained' color='primary'>
{props.text}
</Button>
</Box>
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340933.html
下一篇:從3D陣列中檢索值
