我正在使用Tabs
的{{1}}。可以在material-ui
上打开可滑动的标签,其工作正常但onTouchTap
索引在新操作时未重置为tab
,它显示最后一个标签索引,而不是{{索引为0
的1}}。我试图创建一个函数来将状态更改为0,但它表示状态不能在render内部更改。请帮助,我是Reactjs的新手。
tab
答案 0 :(得分:0)
我试图创建一个将状态更改为0的函数,但它的说法 在渲染中无法更改状态。
每当你改变状态,组件渲染时,如果你无条件地在渲染中更新状态,它将创建一个组件渲染的infinte循环。所以,你显然不能这样做。
如果您希望更改状态,请添加事件处理程序并在事件发生时更改状态。
答案 1 :(得分:0)
内部材料-ui使用 react-swipeable-views ,因此最好不要调用自定义事件处理程序,而是使用名为onSwitching
的库方法
你可以在这里阅读整篇文档
例如
<SwipeableViews
index={index}
onChangeIndex={ onTabChange }
onSwitching = { this.onSwipe }
>
{views}
</SwipeableViews>