React Native - 一个视图中的多个倒数计时器无需重新渲染
React Native - Multiple countdown timers in one view with out re-rendering
我正在构建一个应用程序,它在堆栈导航器中有一个屏幕,可以呈现多个 touchableOpacity,所有这些都具有一个独立且唯一的倒计时计时器(以秒为单位)。
每个 TouchableOpacity 通过减去唯一时间和当前时间的差来显示计数中的剩余秒数。
当前时间存储为状态变量,当组件挂载时,将调用下面的函数。
initTime() {
setInterval( () => {
this.setState({
currentTime : new Date()
})
},1000)
}
我的问题主要是性能,视图需要每秒重新渲染,这导致旧设备确实难以应对不断的渲染。
有什么方法可以实现这一点而无需每秒重新渲染?
只需单独创建一个倒计时组件并将其导入任何地方。这个组件只更新自己,在父视图上没有任何问题。我在一个视图中检查了大约 100 个组件的这种方法,没有任何问题。
我正在构建一个应用程序,它在堆栈导航器中有一个屏幕,可以呈现多个 touchableOpacity,所有这些都具有一个独立且唯一的倒计时计时器(以秒为单位)。
每个 TouchableOpacity 通过减去唯一时间和当前时间的差来显示计数中的剩余秒数。 当前时间存储为状态变量,当组件挂载时,将调用下面的函数。
initTime() {
setInterval( () => {
this.setState({
currentTime : new Date()
})
},1000)
}
我的问题主要是性能,视图需要每秒重新渲染,这导致旧设备确实难以应对不断的渲染。
有什么方法可以实现这一点而无需每秒重新渲染?
只需单独创建一个倒计时组件并将其导入任何地方。这个组件只更新自己,在父视图上没有任何问题。我在一个视图中检查了大约 100 个组件的这种方法,没有任何问题。