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

#关于React.js的一些知识点

生命周期

1.componentDidMount

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

2.compontentDidupdate(preProp, prevState){}.

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

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

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

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

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的内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值