Sto usando React con TypeScript e ho creato la funzione stateless. Ho rimosso il codice inutile dell'esempio per la leggibilità.Reagire con TypeScript - definire defaultProps in funzione stateless
interface CenterBoxProps extends React.Props<CenterBoxProps> {
minHeight?: number;
}
export const CenterBox = (props: CenterBoxProps) => {
const minHeight = props.minHeight || 250;
const style = {
minHeight: minHeight
};
return <div style={style}>Example div</div>;
};
Tutto è perfetto e questo codice funziona correttamente. Ma c'è una mia domanda: come posso definire defaultProps
per il componente CenterBox
?
come è menzionato in react docs:
(...) They are pure functional transforms of their input, with zero boilerplate. However, you may still specify .propTypes and .defaultProps by setting them as properties on the function, just as you would set them on an ES6 class. (...)
dovrebbe essere facile come:
CenterBox.defaultProps = {
minHeight: 250
}
Ma questo codice genera l'errore TSLint: Quindi, di nuovo error TS2339: Property 'defaultProps' does not exist on type '(props: CenterBoxProps) => Element'.
: come posso correttamente definire defaultProps
nel mio stack sopra (React + TypeScript)?
potresti aggiungere un esempio più specifico sul funzionamento di defaultProps? grazie: D –