1.The Ref returned from ReactDOM.render从ReactDOM.render方法返回的ref我们都知道,当我们的组件结构全部搭建完成,渲染我们的顶级组件时用的就是这个方法,但可能大家不知道的是,这个方法返回的就是我们顶级组件的组件实例对象。var myComponent = ReactDOM.render(
2.The Ref Callback Attribute当我们渲染一个组件时,可以给组件添加ref属性,我们给这个属性添加一个回调方法,当组件渲染(mounted)完毕时,就会调用这个回调函数。 render: function() {
return (
3.The Ref String Attributeref的另外一个使用方法就是给ref属性一个字符串,相当于给组件起了一个名字,渲染完成后,就可以使用this.ref.name的方式获取组件类的实例。同样,如果是div一类的,获取到的是dom节点。如果是自定义组件,获取到的是组件类实例。var App = React.createClass({ componentDidMount : function(){ var node1 = this.refs.myinput; var node2 = ReactDOM.findDOMNode(this.refs.myson); }, render: function() { return (
下面是文档中的一个例子:var MyComponent = React.createClass({ handleClick: function() { // Explicitly focus the text input using the raw DOM API. if (this.myTextInput !== null) { this.myTextInput.focus(); } }, render: function() { // The ref attribute is a callback that saves a reference to the // component to this.myTextInput when the component is mounted. return (