【发布时间】:2019-11-23 07:19:03
【问题描述】:
我正在使用Tabs 来切换我网站上的内容。每个选项卡都有从 REST API 加载的不同内容。
有什么方法可以仅在选项卡活动而不是组件挂载时调用 REST API 端点(我在控制台中看到的是每个选项卡同时调用 API)?另外我想每个选项卡只调用一次 API。
提前致谢。
【问题讨论】:
标签: reactjs tabs material-ui
我正在使用Tabs 来切换我网站上的内容。每个选项卡都有从 REST API 加载的不同内容。
有什么方法可以仅在选项卡活动而不是组件挂载时调用 REST API 端点(我在控制台中看到的是每个选项卡同时调用 API)?另外我想每个选项卡只调用一次 API。
提前致谢。
【问题讨论】:
标签: reactjs tabs material-ui
您应该避免同时安装所有选项卡,而只安装可见的当前选项卡。 Material-UI 示例代码并不适合您的用例。
在您的情况下,父组件中应该有一个状态控件来呈现选项卡,您可以在其中选择在给定时间点安装哪个选项卡。
处理它的一种方法是通过 URL 查询字符串/参数。放置一个 URL 参数来控制应该挂载哪个选项卡并让父组件来处理。
这样,只会挂载当前活动的选项卡,从而调用您的 REST API。
这还有一个额外的好处,就是您可以为 URL 添加书签或共享它,当组件安装时,用户将登陆正确的选项卡。
【讨论】: