react 使用 ref 报错 ,[eslint] Using string literals in ref attributes is deprecated. ,react/no-string-refs

react 项目中给指定元素加事件,使用到 react 的 ref 属性,Eslink 报错 [eslint] Using string literals in ref attributes is deprecated. (react/no-string-refs)

常用方法:(会报错)

var Hello = createReactClass({
  componentDidMount: function() {
    var component = this.refs.hello;
    // ...do something with component
  },
  render: function() {
    return <div ref="hello">Hello, world.</div>;
  }
});

正确方法:

1 var Hello = createReactClass({
2   componentDidMount: function() {
3     var component = this.hello;
4     // ...do something with component
5   },
6   render() {
7     return <div ref={(c) => { this.hello = c; }}>Hello, world.</div>;
8   }
9 });