易百教程

51、选项回调 refs 或 findDOMNode() 应该如何使用?

首选选项是在 findDOMNode() API 上使用回调引用。因为回调 refs 在设置和取消设置 refs 时提供了更好的控制,而 findDOMNode() 阻止了 React 未来的某些改进。

class MyComponent extends Component {  
  componentDidMount() {  
    findDOMNode(this).scrollIntoView()  
  }  
  render() {  
    return <div />  
  }  
}

推荐的方法是:

class MyComponent extends Component {  
  componentDidMount() {  
    this.node.scrollIntoView()  
  }  
  render() {  
    return <div ref={node => this.node = node} />  
  }  
}  
class MyComponent extends Component {  
  componentDidMount() {  
    this.node.scrollIntoView()  
  }  
  render() {  
    return <div ref={node => this.node = node} />  
  }  
}