react-native操作“dom”

发布时间:2019-06-12 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了react-native操作“dom”脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

在弄react-native的时候,突然发现它不能像js一样获取页面的dom,那如果我要修改一些dom的属性值、文本什么的,要怎么做呢?

后来查谷歌,发现了一个名词:虚拟DOM

React在内存中维护一个快速响应的DOM描述。render()方法返回一个DOM的描述,React能够利用内存中的描述来快速地计算出差异,然后更新浏览器中的DOM。

为了和浏览器交互,我们需要对DOM节点进行引用,有两种方式来进行可以完成:

1、getDOMNode()

每一个挂载的React组件有一个getDOMNode()方法,你可以调用这个方法来获取对该节点的引用。

注意:
getDOMNode()仅在挂载的组件上有效(也就是说,组件已经被放进了DOM中)。如果你尝试在一个未被挂载的组件上调用这个函数(例如在创建组件的render()函数中调用getDOMNode()),将会抛出异常。

2、Refs
refs可以用来指向一个你拥有的组件。

var MyComponent = React.createClass({
  handleClick: function() {
    // Explicitly focus the text input using the raw DOM API.
    this.refs.myTextInput.getDOMNode().focus();
  },
  render: function() {
    // The ref attribute adds a reference to the component to
    // this.refs when the component is mounted.
    return (
      <div>
        <input type="text" ref="myTextInput" />
        <input
          type="button"
          value="Focus the text input"
          onClick={this.handleClick}
        />
      </div>
    );
  }
});

React.render(
  <;myComponent />,
  document.getElementById('example')
);

更多详细内容请参见这个页面

脚本宝典总结

以上是脚本宝典为你收集整理的react-native操作“dom”全部内容,希望文章能够帮你解决react-native操作“dom”所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。