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
组件可能由于该功能而卸载,然后重新创建。但是如果不知道代码的其余部分发生了什么,就很难知道。