我正在为学校项目开发基于Material UI的React.js应用程序。我的项目基于Material UI 文档中的React + Material UI + Firebase示例。目前,我正在尝试使用,这样我就可以避免使用 Redux(并在将来开发的东西上做得更好)。在 app 组件中,它们有一个openDialog函数,该函数作为一种基于 dialogId 打开模态的方式。React Hooks
class App extends Component {
constructor(props) {
super(props);
this.state = {
signUpDialog: {
open: false
},
signInDialog: {
open: false
},
settingsDialog: {
open: false
},
signOutDialog: {
open: false
}
};
}
// CURRENT, NON-HOOKS WAY
openDialog = (dialogId, callback) => {
const dialog = this.state[dialogId];
if (!dialog || dialog.open === undefined || null) {
return;
}
dialog.open = true;
this.setState({ dialog }, callback);
};
然后他们有一个导航栏,而不是使用相应的对话框调用此函数(例如onSignUpClick={() => this.openDialog('signUpDialog')})我目前正在尝试使用钩子将其移动
有人可以教我/帮我转换这个模块化功能吗!
翻翻过去那场雪
狐的传说
相关分类