我目前正在使用ViewPagerAndroid组件来执行匹配/不匹配功能,该功能需要在组件的源数据中进行动态数据更新。视图分页器的子代由函数makeItems(this.state.data)生成,它返回一个键控视图数组。即[<查看键= {1} />,<查看键= {2} /> ....],索引是从源数据生成数组的for循环的索引。视图包含可触摸高亮显示的复合视图,但所有视图都包含在视图容器中。我将数据保存在组件的状态中,每当它更新时,我调用setState和ViewPagerAndroid.setPage(0)。当我减少数据(拼接)时数据更新工作正常,但是当我向数组添加新数据时返回新数据的空视图。更新前的数据显示正确。我已经检查了我的makeItems()函数,它已经正确传递了更新的数据。
<ViewPagerAndroid
name='Page Viewer 1'
style={styles.matchingPanelViewPager}
initialPage={this.state.currentPage}
onPageSelected={(e) => {console.log(e.nativeEvent.position);}}
ref={viewPager => { this.viewPager = viewPager; }}
>
{this.makeItems(this.state.data)}
</ViewPagerAndroid>
我在Mac OS X,Genymotion,Android 4.2.2上使用RN0.16.0。
非常感谢你的帮助!