牛骨文教育服务平台(让学习变的简单)
博文笔记

react系列(5)组件内部方法和静态方法

创建时间:2017-11-27 投稿人: 浏览次数:496

组件内部方法:通过该方法来修改组件自身状态或监听组件事件。除了正常用法外,还允许在父组件通过创建事件句柄  ,并作为 prop传递到你的子组件上,由子组件来调用,实现由子组件驱动更新父组件的state。

//组件内部方法
var Content =  React.createClass({
	render:function(){
		return (
			<div>
				<input type="text" value={this.props.value} onChange={this.props.handleChange}/>
				<h1>{this.props.value}</h1>
			</div>
		)
	}
});

var BindText = React.createClass({
	getInitialState:function(){
		return {value:"hello"}
	},
	handleChange:function(event){
		this.setState({value:event.target.value}); //通过事件来修改数据
	},
	render:function(){
		return (
			<div><Content value={this.state.value} handleChange={this.handleChange}/></div>
		)
	}
});
(注)上例中的handleChange就是组件内部方法。

组件静态方法:通过该方法可以在组件类上直接调用,如Component.fun()。定义静态方法时,需写在组件的statics对象内。如下例中的customMethod。

//组件静态方法
var MyComponent = React.createClass({
    statics: {
      customMethod: function(foo) {
        return foo === "bar";
      }
    },
    render: function() {
    }
});
var result = MyComponent.customMethod("bar");
console.log(result);   // true


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。