React能否操作.html页面中的元素?

这个问题可能不好理解

我拿vue来做一个对比。在vue中,可以在.html文件中输出页面结构,在js中使用

new Vue({
  el: '#app',
  // ...
}

通过el属性来指定某一个区域的操作,用法有点类似jquery

我不知道React是否能满足这样的需求,还是React只能操作render()方法中的元素

阅读 3.1k
3 个回答

在当前组件已经渲染完毕的前提下,
可以用ReactDOM.getDOMNode()配合refs使用来获得html node;
但是使用this.refs.XXX的话只能获取当前组件的render里的节点;
还有ReactDOM.getDOMNode(this)能够获得当前组件的根节点;
当然,还是那句话,不建议直接操作DOM。
希望能够帮助到你:)

可以操作。
但是强烈建议不要操作Dom
否则出问题你都无从下手。

是的,我并不是真的想用react去操作dom。

假设目前已经有一个页面而且是服务器端输出的,我是想加一段react,希望用户第一访问页面时,页面还是像以前那样加载,react并不去重新渲染页面,只有页面点击页面上某个链接的时候才进入到react中

第一步怎么阻拦react,第二步又怎么激活react,貌似没有办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题