我需要打印日期作为手风琴内部多次包含,
我将整个日期和时间保存在一个数组状态中,我使用可折叠的方式循环我的日期:
<Collapsible collapsed={ this.state.date_tab !== date_index }>
{ this._renderTimes( date_index ) }
</Collapsible>
date_tab
用作选定的手风琴,因此只允许一个活动的可折叠。
当我更改date_tab
状态时,整个日期和内容会重新呈现它的视图,这样就可以让我的折叠缓慢打开导致所有视图从开始时重新渲染。
有没有办法关闭激活的可折叠物,然后打开压下的可折叠物而不重新渲染其他可折叠物?
我尝试使用数组,但没有工作,当我设置状态数组时,它仍然重新呈现所有视图
答案 0 :(得分:0)
将collapsible和renderTimes移动到单独的组件。使组件成为PureComponent。将折叠的prop和times数组提供给可折叠组件。
仅当道具不同时,PureComponent才会呈现。因此,只有两个可折叠组件将呈现,而不是全部。