У меня есть 3 ListView компонента внутри одного компонента ScrollView, как это:
<ScrollView>
<Header />
<ListView onEndReached={() => alert('load more 1')}/>
<ListView onEndReached={() => alert('load more 2')}/>
<ListView onEndReached={() => alert('load more 3')}/>
<Footer />
</ScrollView>
Компонент Header имеет некоторое общее содержимое, а также имеет 3 вкладки, которые запускают отображение соответствующего ListView
Проблема заключается в любом ListView с onEndReached={() => alert('load more 1')} никогда не запускает предупреждение, поэтому я никогда не могу загружать больше, когда я прокручиваю вниз и попадаю в конец списка. Удалите обертку ScrollView и запускается предупреждение, но общий Header не прокручивается, так как мы просто удалили упаковку ScrollView. Заголовок должен прокручиваться списком, поэтому я завернул все, что нужно прокрутить в ScrollView.
ВАЖНОЕ ПРИМЕЧАНИЕ:
Я не могу использовать ListView с renderHeader={this.header} для этого сценария. Поскольку, несмотря на то, что Header будет прокручиваться, он будет ретранслировать общие Header и 3 вкладки для каждого ListView каждый раз, когда ListView отображает вместо одного. Таким образом, новый Header reerender каждый раз для каждого ListView не будет вырезать его для приложения.
Ищете решение этой проблемы, где прокручиваются прокрутки Header со списками и onEndReached для видимого ListView.