当使用react内联风格时,大多数人所做的是在样式属性中使用object。例如。<div style={{left: '54px', position: 'absolute'}}> </div>
这个react diff算法在这里失败了吗,因为他们的是每次重新渲染时创建的新对象。
发布于 2016-11-11 14:12:12
是的,它会影响diff算法
就像你说的,你每次重新渲染的时候都会创建一个Object。
但是,当您执行以下操作时
const style = {left: '54px', position: 'absolute'}
<div style={style}></div>您正在传递一个style引用,该引用在组件的整个生命周期中保持不变。
这对于arrow functions来说是一样的。阅读有关此here的更多信息
https://stackoverflow.com/questions/40542011
复制相似问题