使用内联样式时,React diff算法是否失败

Pri*_*att 10 inline-styles reactjs

虽然使用反应内联式大多数人,他们所做的是在styles属性中使用object.例如. <div style={{left: '54px', position: 'absolute'}}> </div>

这种反应差异算法是否在这里失败,因为它们是每次重新渲染时创建的新对象.

Pra*_*avi 2

是的,它会影响 diff 算法

Object就像你说的,每次重新渲染时你都会创建一个。

但是,当您执行以下操作时

const style = {left: '54px', position: 'absolute'}

<div style={style}></div>
Run Code Online (Sandbox Code Playgroud)

您传递的引用style在整个组件的生命周期中保持不变。

这对于 来说也是一样的arrow functions在这里阅读更多相关内容