react中使用ref报错

var MyComponent = React.createClass({
  handleClick: function() {
    this.refs.myTextInput.focus();
  },
  render: function() {    return (
      <div>
        <input type="text" ref="myTextInput" />
        <input type="button" value="Focus the text input" onClick={this.handleClick} />
      </div>
    );
  }
});

ReactDOM.render(
  <MyComponent />,
  document.body
);

通过用this.refs.myTextInput.focus();,可是页面没有效果,提示错误:

Error: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that
was not created inside a component's `render` method, or you have multiple copies of React loaded 
(details: https://fb.me/react-refs-must-have-owner).

求指导,谢谢


蓝山帝景
浏览 1608回答 1
1回答

慕工程0101907

亲测没有问题;这类的报错一般出现在没有使用render的component里面,比如下面这样:const&nbsp;Comp&nbsp;=&nbsp;({test})&nbsp;=>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;ref="error">assdfas</div> &nbsp;&nbsp;&nbsp;&nbsp;) }你这里的写法是没有问题,接下来需要确认一下你的react的版本,也就是这个原因 ‘you have multiple copies of React loaded’
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript