您的位置:首页 > Web前端 > React

关于React.js的一些知识点(实时更新)

2017-10-17 17:32 1416 查看

关于React.js的一些知识点

关于Reactjs的一些知识点

生命周期
componentDidMount

compontentDidupdatepreProp prevState

注意

组件
table

生命周期

1.componentDidMount

每个页面加载时加载,他只有一条命,只加载一次!除非,,除非这个页面刷新或者重新加载,他才能再加载。

2.compontentDidupdate(preProp, prevState){}.

(1)在此函数中,通常都要先做判断,然后执行某些操作代码。不然不管父级的任意一个值(props)变化还是本地的任意一个值(state)变化,都会执行此函数。

(2) 是比较当前数据与上一次数据有无变化,比如比较
this.state.date与prevState.data
或者
this.props.data与preProp.data


(3)}通常使用时:应该让两个本地(或者两个父级)的值作比较,如果用父级的值与本地的值作比较的话,只要父级的值变化或者更新数据,若本地的值没有与父级的值保持一致,就会陷入无限循环。

(4)也可以使用本地的值与父级的某个值进行比较,但是每次判断后,一定要让将父级的那个值赋给本地,使其保持一致,比如以下代码:

compontentDidupdate(preProp, prevState){
if(this.state.item !== this.props.match.params.item){
this.setState({
item:this.props.match.params.item,
})
}
}


3.注意

如果componentDidupdate()在页面渲染的时候就循环了很多很多次,这种情况下应该检查for循环中是不是有this.setState({})


组件

1.table

是页面一开始加载就渲染好的,如果用const恒量来装内容,那这个table的内容就不能再变了,也就是就不会再渲染table了。所以只能用this.state来装时常更新table的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  react