javascript - 在渲染组件之前设置“活动选项卡”
问题描述
渲染组件时,我已经设置了active tab
in this.setState({activeTab: response.data[0].id})
。
componentDidMount() {
axios.get
axios({
url,
method: "GET",
headers: {
'Authorization':
}
})
.then(response => {
this.setState({
scores: response.data,
activeTab: response.data[0].id,
});
})
.catch(error => {
console.log("User not enrolled.", error);
})
}
但是当我添加时socket.io
,this.setState ({})
它每隔几秒钟更新一次。渲染组件时,选项卡0
处于活动状态。我点击 tab 2
,然后在 sockets 的影响下,几秒钟后它自动返回到 tab 0
。如何设置它使其不会自动返回 tab 0
。
componentDidMount() {
const socket = socketIOClient(endpoint);
socket.on("FromAPI", data => this.setState({
scores: data,
activeTab: data[0].id
}));
}
解决方案
推荐阅读
- php - 每个请求在 Laravel 中创建不同的会话
- jquery - 如何将手风琴功能与主体分开?
- python - 如何将 Tensorflow 数据集保存到 csv?
- excel - 基于句号将行合并为一个
- java - 根据不同的id开头从数据库更改密码
- angular - 从谷歌地图 api Javascript 中删除按钮
- business-objects - 如何将来自 2 个查询的数据添加到 webi 中的 1 个表中
- php - 带有由 php 调用的变量的 SQL 查询问题
- javascript - 如何在 svg 路径上覆盖 Html 元素
- apache-spark - 选择列时出现奇怪的 Spark SQL 行为