React Native Set状态的一部分更新整个视图

时间:2018-01-27 07:41:48

标签: react-native view state

我需要打印日期作为手风琴内部多次包含,

我将整个日期和时间保存在一个数组状态中,我使用可折叠的方式循环我的日期:

<Collapsible collapsed={ this.state.date_tab !== date_index }>
    { this._renderTimes( date_index ) }
</Collapsible>

date_tab用作选定的手风琴,因此只允许一个活动的可折叠。

当我更改date_tab状态时,整个日期和内容会重新呈现它的视图,这样就可以让我的折叠缓慢打开导致所有视图从开始时重新渲染。

有没有办法关闭激活的可折叠物,然后打开压下的可折叠物而不重新渲染其他可折叠物?

我尝试使用数组,但没有工作,当我设置状态数组时,它仍然重新呈现所有视图

1 个答案:

答案 0 :(得分:0)

将collapsible和renderTimes移动到单独的组件。使组件成为PureComponent。将折叠的prop和times数组提供给可折叠组件。

仅当道具不同时,PureComponent才会呈现。因此,只有两个可折叠组件将呈现,而不是全部。