对react的一些看法和见解

渲染页面:

react中将功能分割成组件,只关注组件状态(state,props)的变化。所有的操作都是在虚拟dom上,每当组件状态发生变化就生成新的dom数据,然后将上一次的dom跟本次dom进行比较,只将变化的部分更新到真实的dom上。

props和state的区别

state可以用来与用户交互,通过setState({})来更新和修改数据

父子组件的数据传递通过props传递,数据是单向传递的,自顶向下,不要尝试改变props

1.父组件->子组件 通过<Parent title={值}/> Children中通过this.props.title获取

2.子组件->父组件 仍是通过props传递,但传递的是函数,子组件调用该函数即可

生命周期

componentDidMount() 只执行一次,发生在组件已经插入到真实dom中,一般fetch请求写在该方法

componentWillReceiveProps(nextProps) props改变便执行

{某方法}

其中方法中不能使用this.props否则还是获取的上一次数据

注意当props未发生变化时也可能会执行该方法

可在nextProps!==this.props判断里使用该方法

若使用componentWillUpdate等生命周期函数可能会不断执行该方法原因是(在这个方法中你不可以使用setState,否则会触发一轮新的渲染,不断调用componentWillUpdate,陷入无限循环)

该方法通常用在props改变时

this

在react中使用类来声明组件

class 类名 extends React.Component

{  constructor(props){super(props);}

   handleClick(){};

   render(){return <button onClick={this.handleClick}}

}

在react中使用jsx语法所以所有的事件如click,blur首字母大写,

获取this的指向

1.方法若采用类方法,在constructor中写this.handleClick=this.handleClick.bind(this)或者在回调中

onClick={this.handleClick.bind(this)}或onClick={()=>this.handleClick()}

2.方法也可写成箭头函数形式即可,handleClick=()=>{}

方法传参

1.若使用箭头函数写方法,调用时this.方法即可不能写成this.方法()否则页面渲染时就会调用该方法

this.函数.bind(this,参数)

()=>this.函数(参数)

react之jsx语法

1.render中最外层只能有一个HTML标签包裹

2.表达式要用{}包裹

3.react设置组件样式

1.内联

<p style={{color:"gray"}}></p>

2.选择器

const pStyle={color:"gray"}

<p style={pStyle}></p>

3.对象

.pStyle{color:"gray"}

<p className="pStyle"></p>





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值