javascript - react中使用ref报错

查看:239
本文介绍了javascript - 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).

求指导,谢谢

解决方案

亲测没有问题;
这类的报错一般出现在没有使用render的component里面,比如下面这样:

const Comp = ({test}) => {
    return (
        <div ref="error">assdfas</div>
    )
}

你这里的写法是没有问题,接下来需要确认一下你的react的版本,也就是这个原因 ‘you have multiple copies of React loaded’

这篇关于javascript - react中使用ref报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆