Reactjs 使用内联样式时,React-diff算法是否失败
在使用react内联样式时,大多数人所做的是使用“样式中的对象”属性。例如。Reactjs 使用内联样式时,React-diff算法是否失败,reactjs,inline-styles,Reactjs,Inline Styles,在使用react内联样式时,大多数人所做的是使用“样式中的对象”属性。例如。 此react diff算法是否在此失败,因为每次重新渲染时都会创建新对象。是的,它将影响diff算法。 正如您所说,每次重新渲染时都要创建一个对象 但是,当您执行以下操作时 const style = {left: '54px', position: 'absolute'} <div style={style}></div> const style={left:'54px',positi
此react diff算法是否在此失败,因为每次重新渲染时都会创建新对象。是的,它将影响diff算法。 正如您所说,每次重新渲染时都要创建一个
对象
但是,当您执行以下操作时
const style = {left: '54px', position: 'absolute'}
<div style={style}></div>
const style={left:'54px',position:'absolute'}
您正在传递style
的引用,该引用在组件的整个生命周期中保持不变
这与箭头函数
相同。阅读更多关于此的信息但是https://facebook.github.io/react/docs/reconciliation.html
在同一类型的DOM元素中,他们告诉它只会更改颜色属性,我确信这一点。但是,我确信它每次都把它当作一个新的对象。如果可能的话,你可以提供一个工作例子,这样我就可以测试它并批准答案。