美文网首页
react组件的声明方式

react组件的声明方式

作者: tenro | 来源:发表于2020-06-10 17:33 被阅读0次

一: ES5写法: React.creatClass()
'老版本的使用方法,不建议使用了'

var Input = React.creatClass({
    //定义传入props中的各种类型属性
    propTypes: {
        initialValue: React.propType.string
    },
    //组件默认的props对象
    defaultProps: {
        initialValue: ''
    },
    //设置初始状态
    getInitialState: function(){
        return {
            text: this.props.initialValue || 'placeholder'
        }
    },
    //通过事件触发改变初始状态的值
    handleChange: function(event){
        this.setState({
            text: event.target.value
        });
    },
    //渲染
    render: function() {
        return (
            <div>
                  Type something:
                  <input onchange = { this.handleChange } value={this.state.text } />
            </div>
        );
    }
});

二: ES6写法

import React, { Component } from 'react'
class Input extends Component{
      constructor(props) {
          super(props);
          //设置初始状态
          this.state = {
                text: props.initialValue || 'placeholder'
          }
         //ES6类中的函数必须手动绑定
          this.handleChange = this.handleChange.bind(this)
      }
      handleChange(event) {
            this.setState({
                text: event.target.value
            });
      }
      //渲染
      render() {
            return (
                  <div>
                      Type something:
                      <input onchange = { this.handleChange } value={this.state.text } />
                  </div>
            );
      }
}

//React.Component创建的组件,函数成员不会自动绑定this, 绑定的方法有很多,除了上述的constructor中绑定this外,还可以通过箭头函数来绑定this,或使用bind(this)来绑定
箭头函数:<div onClick={ () => this.handleClick() }></div>
bind绑定:<div onclick = { this.handleClick.bind(this) }></div>

相关文章

  • React中Component和PureComponnt组件的区

    两种组件的声明方式,都可以创建React组件import React,{Component,PureCompone...

  • React Hook

    React 声明组件的方式 Class声明和函数式声明(无状态组件)。Class声明可以操作state、生命周期等...

  • react组件的声明方式

    一: ES5写法: React.creatClass()'老版本的使用方法,不建议使用了' 二: ES6写法

  • React五种this绑定方案的差异性

    方案一:React.createClass 这是老版本React中用来声明组件的方式,在那个版本中,没有class...

  • react 笔记

    react 基本概念解析 react 的组件声明周期 react 高阶组件,context, redux 等高级...

  • 2、react基础介绍

    React理念 划分组件边界的原则 React组件的数据种类 React组件的声明周期 组件的划分 高内聚 低耦合...

  • JSX

    JSX是react语法基础,也是react的核心部分。 它使用XML标记的方式去直接声明界面,界面组件之间可以互相...

  • 001.react环境搭建

    1. react的优势 响应式更新 组件化 jsx声明式编程 多平台性 2. 创建工程的方式:2.1:react的...

  • Ant Design Pro 教程 -- 3.一切都是组件

    3.1 Counter 组件   React 是基于组件的声明式用户界面开发库。在 React 世界,一切都是组件...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

网友评论

      本文标题:react组件的声明方式

      本文链接:https://www.haomeiwen.com/subject/iolptktx.html