react中導致元件渲染
阿新 • • 發佈:2021-01-09
技術標籤:reactjs
1.箭頭函式(行內函數)
function addItem(){
log(111)
}
<Input onClick={()=>addItem}/>
此時input元件的點選事件,為行內函數建立一個新的例項,所以每次function都會指向不同的記憶體地址
2.[]
{this.props.items.map(i =>
<Cell data={i} options={this.props.options || []} />
)}
options為空,則會使用[]。[]每次會生成新的Array,因此導致Cell每次的props都不一樣,導致需要重繪
- 傳入引數若是引用型別的,若不想元件渲染,則儘量不要直接寫字面量的方式
<BigListView items={items} style={{width: '100%'}}/> // style物件
BigListView 傳入style 屬性是個臨時的物件字面量,每次 MyApp 重新渲染都會建立一個全新的 物件字面量。因此對 BigListView 而言每次傳入的 props 都不同。