Javascript 为什么我的组件会被调用?
我的Javascript 为什么我的组件会被调用?,javascript,reactjs,Javascript,Reactjs,我的组件将被调用,但我不知道为什么要修复它。 我的代码如下: componentWillMount(): void { apiClient .get("module/menu/top/get") .then(response => { ReduxService.dispatch(setMenus(response.data)); }) .catch
组件将被调用,但我不知道为什么要修复它。
我的代码如下:
componentWillMount(): void {
apiClient
.get("module/menu/top/get")
.then(response => {
ReduxService.dispatch(setMenus(response.data));
})
.catch(() => {
message.error("Het is niet gelukt de menu items op te halen! Herlaad de pagina.");
});
};
getFooterItems = () => {
apiClient
.get("module/menu/footer/get")
.then(response => {
ReduxService.dispatch(setMenus(response.data));
})
.catch(() => {
message.error("Het is niet gelukt de menu items op te halen! Herlaad de pagina.")
})
};
这是我的渲染:
<Tabs type="card" onTabClick={this.getFooterItems}>
所以我想让我的组件像它应该的那样被调用。
但是,当我使用onTabClick在选项卡(Ant.Design)之间切换时,我希望使用this.getFooterItems函数,而不是组件willmount
编辑:修复了我的两次调度都使用相同的设置菜单的问题。如果不推荐使用组件willmount
,则应使用组件didmount进行api调用
componentWillMount
是一种react生命周期方法,当您的组件呈现时,它会自动调用一次。这不是自定义函数。
关于生命周期的更多信息
如果要在上执行此代码,比如单击某个按钮,请将代码放入函数中,然后在该按钮的onClick
上调用该函数
希望有帮助 组件将在呈现组件之前执行挂载。如果要在显示组件之前运行任何执行,componentWillMount是您的方法。
如果希望在单击选项卡时执行此操作,请将此代码放入getFooterItems方法中。componentWillMount是一种不推荐使用的生命周期方法。在最新版本的react中,它以不安全组件willmount的形式提供。如果要在组件呈现时调用某个API,则要使用生命周期方法 如果要在切换选项卡时调用某个方法,则应使用相应的处理程序
希望它有帮助
componentWillMount
是一种生命周期方法,在呈现组件时自动调用()。您希望有什么不同?然后我想在单击选项卡时停止我的componentwillmount with rendering。componentwillmount将仅在第一次渲染组件时调用,而不会在单击选项卡时调用。如果发生这种情况,请单击tab。您的tab
组件可能由于该功能而卸载,然后重新创建。但是如果不知道代码的其余部分发生了什么,就很难知道。