React组件API

React组件API

组件API这里将介绍7种:
- 设置状态:setState
- 替换状态:replaceState
- 设置属性:setProps
- 替换属性:replaceProps
- 强制更新:forceUpdate
- 获取DOM节点:findDOMNode
- 判断组件挂载状态:isMounted

设置状态:setState

setState(object nextState[,function collback])
nextState:简要设置的新状态,会和当前的state合并
callback:可选参数,回调函数。会在setState设置成功且组件重新渲染后调用。
注意:
不能再组件内部通过this.state修改状态,因为改状态会在调用setState()后被替换。

替换状态:replaceState

replaceState(object nextState[, function callback])
nextState:将要设置的新状态,会替换当前的state(只会保留nextState中的状态,原state中不在nextState中的状态会被删除)
callback:可选参数,会在方法设置成功且组件重新渲染后调用

设置属性:setProps

setProps(object nextProps[, function callback])
nextProps:将要设置的新属性,改状态会与当前props合并
callback:可选参数,设置成功且组件渲染后调用。

替换属性:replaceProps

replaceProps(object nextProps[,function calback])
nextProps:将要设置的新属性,该属性会替换当前的props(删除原有的)
callback:可选参数,成功且渲染后调用

强制更新:forceUpdate

forceUpdate([function callback])
callback:可选参数,该函数会在组件render()方法调用后调用。
注:
forceUpdate()方法会使组件调用自身render()方法重新渲染组件,组件的子组件也会调用自己的render()。但是组件重新渲染使,也让会读取this.props和this.state,如果状态没有改变,那么React只会更新DOM
forceUpdate()方法适用于this.props和this.state之外的组件重绘
尽量不要使用该方法

获取DOM节点:findDOMNode

DOMElement findDOMNode()
返回DOM元素DOMElement
如果组件已经挂载到DOM中,该方法返回对应的本地浏览器DOM元素,当render返回null或false时,this.findDOMNode()也会返回null

判断组件在挂载状态:isMounted

boolean isMounted()
返回true或false,表示组件是否已经挂载到DOM中
可以使用该方法保证setState()和forceUpdate()在异步状态下的调用不会出错。

本文参考 菜鸟网React组件API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值