页面初次渲染,走的是componentDidMount( )
页面再次渲染,走的是componentDidUpdate( ) 就像是进入搜索页面,第一次从主页点击进去,搜索页面会重新渲染,走的就是componentDidMount,但是在搜索页面中再搜索其他东西,走的就是componentDidUpdate
react支持一种非常特殊的属性,ref,可以用来绑定到render( )输出的任何组件上 能获取Dom节点
<div className="load-more" ref="wrapper"></div>
const wrapper= this.refs.wrapper
console.log(wrapper)
- getBoundingClientRect( )
该方法返回一个矩形对象,包含四个属性:left,right,top,bottom。分别表示元素各边与页面左上角的距离
const top = wrapper.getBoundingClientRect().top
//获取这个元素上方到页面顶部的距离
- dangerouslySetInnerHTML是react标签的一个属性,通常dangerouslySetInnerHTML是和_html配套用的,用来在一个标签中插入许多个标签(安全的插入),也可以插入dom和字符串
<p dangerouslySetInnerHTML={{__html:data.desc}}></p>
// data.desc : 营业时间 11:00 - 21:00 <br> 电话订购 11:00 - 19:00 <br> 网络订购 11:00 - 19:00
some函数 任何一个满足即可
我用来检测是否被收藏
const id = this.props.id
//store是数组 some是数组的方法
store.some(item=>{
if(item.id===id){
//已经被收藏
this.setState({
isStore:true
})
//跳出循环
return true
}
})