1 回答

TA貢獻1829條經(jīng)驗 獲得超13個贊
您鏈接的示例使用函數(shù)組件。我們可以將它們轉換為您想要的更傳統(tǒng)的類組件,或者您可以將函數(shù)用作組件 - 該示例能夠使用,<LongMenu />
因為它是一個組件,只是使用函數(shù)而不是類聲明。React 文檔中有關于將函數(shù)組件轉換為類的信息。
使用類而不是函數(shù)時的一些關鍵點是類中并不真正存在的useState
鉤子。useEffect
相反,我們將狀態(tài)存儲為類中的一個字段,并使用生命周期方法。您提供的代碼段的類可能如下所示:
class PageHeader extends React.Component {
constructor(props) {
super(props);
this.state = {
anchorEl: null
};
}
handleClick = event => {
this.setState({ anchorEl: event.currentTarget });
}
handleClose = () => {
this.setState({ anchorEl: null });
}
render() {
return (...);
}
}
export default PageHeader;
我們可以存儲inuseState的狀態(tài),并使用 更新它,而不是使用鉤子。anchorElthis.statethis.setState
添加回答
舉報