react组件中的key
react利用key来识别组件,它是一种身份标识标识,就像我们的身份证用来辨识一个人一样。每个key对应一个组件,相同的key react认为是同一个组件,这样后续相同的key对应组件都不会被创建。
利用key让组件重新渲染
改变某个组件的key值的话,它会在下次渲染的时候被销毁并当作新的组件重新渲染进来
例子
浏览器缩放固定列错位可利用key让表格重新渲染
componentDidMount() {
// 监听窗口大小改变
window.addEventListener('resize', this.handleResize)
}
componentWillUnmount() {
// 一定要最后移除监听器,以防多个组件之间导致this的指向紊乱
window.removeEventListener('resize', this.handleResize)
}
//浏览器窗口大小改变事件
handleResize = e => {
this.setState({
domUpdate:e.target.innerWidth
})
}
render(){
return(
//需要渲染的组件
<div key={this.state.domUpdate}></div>
)
}