tes*_*dev 5 reactjs react-native react-native-flatlist recyclerlistview react-flatlist
我已经从 Flipkart 的 Flatlist 切换到 RecyclerlistView。但是像 onload 和 onscroll 这样的事件存在一些行渲染闪烁问题,这看起来很奇怪。有人对此有任何解决办法吗?
这是代码:
<RecyclerListView
optimizeForInsertDeleteAnimations={true}
// initialOffset={800}
initialRenderIndex={0}
scrollsToTop={false}
showsVerticalScrollIndicator={false}
style={{ paddingBottom: 90 }}
forceNonDeterministicRendering={true}
layoutProvider={this._layoutProvider}
dataProvider={this.state.dataProvider}
extendedState={this.state.dataProvider}
rowRenderer={this._rowRenderer}
disableRecycling={true}
// shouldComponentUpdate={true}
// shouldComponentUpdate={this.shouldComponentUpdateList()}
onEndReached={this.onEndReached}
onEndReachedThreshold={0.1}
renderFooter={this._renderFooter}
scrollViewProps={{
// contentContainerStyle: { paddingBottom: (140) },
// stickyHeaderIndices: [1],
refreshControl:
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={() => {
this._handleRefresh()
}}
/>
}}
/>
Run Code Online (Sandbox Code Playgroud)
小智 0
我面临着类似的问题。这是我的代码中的逻辑错误。我的代码是这样的
const dataProviderMaker = (data) => new DataProvider((r1, r2) => r1 !== r2).cloneWithRows(data)
const [dataProvider, setDataProvider] = useState(dataProviderMaker({}))
const [data, setData] = useState()
const fetchData()=>{
fetch(url,{method:"GET",...})
.then((res)=>res.json())
.then((res)=>{
setData(res)
setDataProvider(dataProviderMaker(data))
})
}
useEffect(()=>{
fetchData()
},[data]}
Run Code Online (Sandbox Code Playgroud)
这段代码的错误是,当屏幕打开时fetchData()调用函数。哪个更新data。当data内部发生变化时useEffect,fetchData函数被调用。这导致了循环。并列出使用闪烁。
所以我像这样更新了我的代码
const dataProviderMaker = (data) => new DataProvider((r1, r2) => r1 !== r2).cloneWithRows(data)
const [dataProvider, setDataProvider] = useState(dataProviderMaker({}))
const [data, setData] = useState()
const fetchData()=>{
fetch(url,{method:"GET",...})
.then((res)=>res.json())
.then((res)=>{
setData(res)
setDataProvider(dataProviderMaker(res))
})
}
useEffect(()=>{
fetchData()
},[]}
Run Code Online (Sandbox Code Playgroud)
希望它可以帮助你
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |