У меня есть 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
.