React操作真实dom是否还需要使用state

react可以通过更新state来更新dom,
但操作真实dom获取一些元素信息,改变display,或者top之类的时,
如dom.style.xx,直接操作也能生效。
这个时候是否还需要将状态加入state中,而不是直接使用,性能上有区别么?

阅读 3k
2 个回答

看情况,一般重要的值,如input的value,style的display hidden等,常需要被来自父组件的属性控制,最好使用state。而一些操作频繁,或对组件UI相对来说影响不大,如动效的样式、容器的尺寸等。性能肯定是原生操作快,但diff算法、组件生命周期都用不到了。

仅从目前的描述,性能上没有结论
既然用 React 了为什么还要手动操作 DOM 呢?
React 的理念是 UI = f(state),DOM 操作由状态来驱动,例如 style,可以通过 state 来控制 CSS class

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