React ES6 组件

前端之家收集整理的这篇文章主要介绍了React ES6 组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不得不说,开源中国这博客的 Typography 做的不太行,几次想要使用 markdown语法写点东西的时候,想到那层次不清的排版,还是放弃了。既然这样,还是继续使用富文本吧。

React

基本组件 + render 函数

  1. import React,{Component} from 'react'
  2. import ReactDOM from 'react-dom'
  3.  
  4. class App extends React.Component {
  5. render() {
  6. return (
  7. <Router>
  8. <div className='container'>
  9. <Nav />
  10. <Switch>
  11. <Route exact path='/' component={Home} />
  12. <Route exact path='/battle' component={Battle} />
  13. </Switch>
  14. </div>
  15. </Router>
  16. )
  17. }
  18. }

状态初始化 state

  1. class App extends React.Component {
  2. constructor(props) {
  3. super(props);
  4. this.state = {
  5. number: 0,};
  6. };
  7.  
  8. render() {
  9. // more code here
  10. }
  11. }

state 的 prop 验证

  1. export class Counter extends React.Component {
  2. constructor(props) {
  3. super(props);
  4. this.state = {count: props.initialCount};
  5. }
  6. tick() {
  7. this.setState({count: this.state.count + 1});
  8. }
  9. render() {
  10. return (
  11. <div onClick={this.tick.bind(this)}>
  12. Clicks: {this.state.count}
  13. </div>
  14. );
  15. }
  16. }
  17.  
  18. // prop verify
  19. Counter.propTypes = { initialCount: React.PropTypes.number };
  20. Counter.defaultProps = { initialCount: 0 };

挂载函数 componentDidMount

  1. class App extends React.Component {
  2. constructor() {
  3. this.state = { data: [] }
  4. }
  5. loadFromServer() {
  6. $.ajax({
  7. url: this.props.url,dataType: 'json',success: (data) => {
  8. this.setState({data: data})
  9. },error: (xhr,status,err) => {
  10. console.error(this.props.url,err.toString())
  11. }
  12. })
  13. }
  14. componentDidMount() {
  15. this.loadFromServer();
  16. setInterval(this.loadFromServer.bind(this),this.props.pollInterval)
  17. }
  18. render() {
  19. return <div className="text">
  20. <h1>Comments
  21. <List data={this.state.data} />
  22. </div>
  23. }
  24. }

猜你在找的React相关文章