我尝试在一个项目中使用react-native-pages,我需要使用onScrollEnd回调函数来计算用户滚动到了哪个页面,并根据索引进行一些状态更改,我知道children组件得到了一个index属性,但这对我没有多大好处。我怎么能从parent pages组件中知道当前的index呢?我现在在我的代码中得到的是一个非常基本的实现
function pagesContainer(){
return(<Pages startPage={currentPageNumber == 1}
onScrollEnd={() => { console.log("i want to find out index and use it here") }} >
<Texts pageNumber={currentPageNumber} />
<Texts pageNumber={variablePageNumber} />
<Texts pageNumber={variablePageNumber} />
</Pages>);
}
1条答案
按热度按时间oug3syen1#
您有几个选项:
1.使用一个状态管理解决方案(内置的React Context应该可以满足这一要求,但是如果您搜索它们的话,还有很多可供选择),然后您可以从任何地方(例如,您的Texts组件,它获取索引属性)设置活动页面的页码,并在父页面中使用它。
1.使用一个维护的库(例如this one,尽管我个人没有使用过它)。我链接的那个库提供了一个索引作为它的
renderItem
回调属性的一部分。