Я использую response-infinite-scroll для визуализации потока данных.Всякий раз, когда пользователь изменяет свои настройки, я хочу обновить поток данных.
Для этого у меня есть ключевая опора для компонента InfiniteScroll
.Идея заключается в том, что всякий раз, когда пользователь изменяет свои настройки,
this.state.renderCount
увеличивается на 1 в setState
Реагирует на то, что ключевая опора InfiniteScroll
отличаетсяи повторно выполняет рендеринг компонента с нуля.
<Content style={{ padding: "0px 20px" }}>
<InfiniteScroll
key={this.state.renderCount}
style={{ width: "100%", height: "100%" }}
pageStart={0}
loadMore={this.loadPosts.bind(this)}
hasMore={true}
loader={<div>Loading....</div>}
useWindow={false}
>
{listItems}
</InfiniteScroll>
</Content>
Код обновления находится в componentDidUpdate
и вызывается, если я определяю, что требуется обновление:
this.setState({ renderCount: this.state.renderCount + 1 })
Однако компонент не сбрасывается.Почему это?