开始我是这样做的
<Tabs
hideAdd
onChange={this.onChange}
activeKey={activeKey}
type="editable-card"
onEdit={this.onEdit}
style={{width: "100%"}}
>
{TabsTitles.map(pane => (
<TabPane tab={pane.title} key={pane.key}>
<Wrapper>
<Contents/>
</Wrapper>
</TabPane>
))}
</Tabs>
这样写完后,会导致每次切换标签页,子组件Contents都会加载之前点过的标签页次数,因为我子组件的数据都是不一样的会请求接口,所以切换的时候会请求小于等于当前标签页数量的接口,很多重复请求。
<Tabs
hideAdd
onChange={this.onChange}
activeKey={activeKey}
type="editable-card"
onEdit={this.onEdit}
style={{width: "100%"}}
>
{TabsTitles.map(pane => (
<TabPane tab={pane.title} key={pane.key}>
<Wrapper>
{activeKey === pane.key && <Contents/>}
</Wrapper>
</TabPane>
))}
</Tabs>
这样就不会加载其他组件了