style对象会触发重新渲染吗?
来源:9-11 首页列表优化与课后作业

慕丝4078674
2022-05-04
听老师您讲,react机制是通过浅对比来判断要不要渲染
<Text style={color: 'red'}></Text>
那这样子应该是不会触发渲染的吧?
写回答
1回答
-
今朝
2022-05-04
你举的例子是不符合jsx语法的,正确的写法应该是
<Text style={{color: 'red'}}></Text>
外面一层大括号是jsx设置属性值的语法(不要问为什么),在这个大括号中可以使用任何的js表达式
里面的大括号代表的是一个对象。
这是一个对象的字面量表达式,
如果Text组件所在的组件重新渲染了,那么{color: 'red'}这个对象当然会出现创建一个,Text组件得到的style就不是同一个了,也会触发渲染。
所以RN推荐使用StyleSheet.create来统一管理样式
042022-05-05
相似问题