我的componentWillMount
被打了,但我不明白为什么要修复它。
我的代码如下:
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}>
所以我希望我的componentWillMount像它应该的那样被调用。 但是,当我使用onTabClick在选项卡(Ant.Design)之间切换时,我想使用this.getFooterItems函数,而不是componentWillMount
编辑:我的两个固定菜单都已修复
答案 0 :(得分:0)
componentWillMount
已过时,您应该将componentDidMount
用于api调用。
componentWillMount
是反应生命周期方法,在组件渲染时会自动调用1次。这不是自定义功能。
有关生命周期methods
如果要执行该代码,例如单击某个按钮,请将代码放入函数中,然后在该按钮的onClick
上调用该函数。
希望有帮助!
答案 1 :(得分:0)
componentWillMount 在呈现组件之前执行。如果要在显示组件之前运行任何执行,请使用 componentWillMount 。 如果要在选项卡上单击以执行此操作,请将此代码放入 getFooterItems 方法中。
答案 2 :(得分:0)
componentWillMount 是已弃用的生命周期方法。在最新版本的react中,它可以作为 UNSAFE_componentWillMount 使用。如果要在组件呈现 componentDidMount 时调用某些API,则是您要使用的生命周期方法。
如果要在切换选项卡时调用方法,则应为其使用适当的处理程序
希望有帮助