React

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > React > React组件API

一文详解React组件API

作者:*且听风吟

这篇文章主要介绍了React的组件API,及组件API的用法详解,文中有详细的代码示例,对学习或工作有一定的参考价值,感兴趣的同学可以阅读本文

常用 React 组件 API:

setState

setState(object nextState[, function callback])

参数说明

nextState:将要设置的新状态,该状态会和当前的 state 合并;
callback:可选参数,回调函数。该函数会在 setState 设置成功,且组件重新渲染后调用。

注意事项

使用

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React demo</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>

<div id="example"></div>
<script type="text/babel">
class Counter extends React.Component{
  constructor(props) {
      super(props);
      this.state = {count: 0};
      this.handleClick = this.handleClick.bind(this);
  }
  
  handleClick() {
    this.setState((state) =>{
      return {count: state.count + 1};
    });
  }
  render () {
    return (<h2 onClick={this.handleClick}>点我!点击次数为: {this.state.count}</h2>);
  }
}
ReactDOM.render(
  <Counter />,
  document.getElementById('example')
);
</script>

</body>
</html>

页面效果:

注意:

上面例子中,有一句 this.handleClick = this.handleClick.bind(this)。

用 class 来创建 react 组件时,有一件很麻烦的事情,就是this 的指向问题。类的方法默认是不会绑定 this 的,为了保证 this 的指向正确,需要写这样的代码:

this.handleClick = this.handleClick.bind(this)

或者是这样的代码:

<button onClick={() => this.handleClick(e)}>

如果忘记绑定 this.handleClick 并把它传入 onClick,调用这个函数的时候 this 的值会是 undefined。

replaceState

replaceState(object nextState[, function callback])

参数说明

nextState:将要设置的新状态,该状态会替换当前的 state。
callback:可选参数,回调函数。该函数会在 replaceState 设置成功,且组件重新渲染后调用。

setProps

setProps(object nextProps[, function callback])

参数说明

nextProps:将要设置的新属性,该状态会和当前的 props 合并
callback:可选参数,回调函数。该函数会在 setProps 设置成功,且组件重新渲染后调用。

设置组件属性,并重新渲染组件。

replaceProps

replaceProps(object nextProps[, function callback])

参数说明

nextProps:将要设置的新属性,该属性会替换当前的 props。
callback:可选参数,回调函数。该函数会在 replaceProps 设置成功,且组件重新渲染后调用。

forceUpdate

forceUpdate([function callback])

参数说明

callback:可选参数,回调函数。该函数会在组件render()方法调用后调用。

findDOMNode

DOMElement findDOMNode()

返回值:DOM 元素 DOMElement

isMounted

bool isMounted()

返回值:true 或 false,表示组件是否已挂载到 DOM 中

到此这篇关于一文详解React组件API的文章就介绍到这了,更多相关React组件API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文