通过redux管理列表数据 会造成多次渲染?

来源:7-6 FlatList的高级应用&上拉加载更多功能实现-1【这个技能很实用】

qq_过然_0

2018-12-23

老师,几个问题解答下咯:
1,通过redux管理列表数据,那么每一次获取数据,最少会派发2次action,会造成页面渲染两次吧?这样会影响性能么?
图片描述

2.应为当前页面是多tab页面,假如在我打开了java,php,c…等多个tab的情况下,每一次刷新某一个tab页面的数据,都会触发其他多个页面的重新渲染吧,因为用的是同一个状态树,而且每一次渲染还会渲染两次。。。。这好像不太科学。。。图片描述

总感觉 这种列表数据 不该放在redux里管理额。。。

写回答

2回答

CrazyCodeBoy

2018-12-24

  1. 根据不同的状态派发不同的action,而且每次渲染的都是不同的内容,不用担心性能问题哈;

  2. 这里将标签数据放到redux中是为了方便多页面共享state数据,目前测试先来发现性能还可以,如果想进一步优化性能的话,可以在:

shouldComponentUpdate(nextProps, nextState)

方法中根据nextProps与 nextState判断是否需要渲染本次数据哈。

1
2
慕移动2575466
我有同样的疑问,不使用shouldComponentUpdate优化的话,因为订阅的是popular,导致所有tabs都会重新渲染
2019-01-18
共2条回复

慕移动2575466

2019-01-18

感觉应该动态订阅state树//img.mukewang.com/szimg/5c41842b0001e01709470288.jpg

0
0

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3144 学习 · 3241 问题

查看课程