react修改页面dom

react修改页面dom的两种办法

一:使用选择器:

1、引入react-dom

    import ReactDom from 'react-dom'

2、给react节点设置id或类名等标识

    <span id='tip'></span>

3、定义变量保存dom元素

const span=document.getElementById('tip')

4、通过ReactDom的findDOMNode()方法修改dom的属性

ReactDom.findDOMNode(span).style.color='red'

点击时: e.currentTarget 获取到点击的dom,通过改变样式或者innerHtml改变dom



二:使用ref属性

1、给指定标签设置ref属性

    <span ref='tip'></span>

2、通过this.refs.ref属性值来修改标签的属性

    this.refs.tip.style.color = "red"

class组件

class MyComponent extends React.Component {

  constructor(props) {

    super(props);

    this.myRef = React.createRef();  }

  render() {

    return <div ref={this.myRef} />;  }

}

函数组件使用

function TextInputWithFocusButton() {

  const inputEl = useRef(null);

  const onButtonClick = () => {

    // `current` 指向已挂载到 DOM 上的文本输入元素

    inputEl.current.focus();

  };

  return (

    <>

      <input ref={inputEl} type="text" />

      <button onClick={onButtonClick}>Focus the input</button>

    </>

  );

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 箭头函数 箭头函数基础知识var fn=()=>333;执行函数fn()的结果是333;var fn=(n,m)=...
    果木山阅读 181评论 0 0
  • react 基本概念解析 react 的组件声明周期 react 高阶组件,context, redux 等高级...
    南航阅读 1,090评论 0 1
  • It's a common pattern in React to wrap a component in an ...
    jplyue阅读 3,312评论 0 2
  • 前言 你盼时间,我盼望你无bug。Hello 大家好,我是霖呆呆!噗...没啥好说的,忍住,看文章吧[哭笑~] 组...
    LinDaiDai_霖呆呆阅读 448评论 0 2
  • React一些特点 专注于视图层 业务框架(也可以理解为model层)可以根据业务场景自行选择。 Virtual ...
    vam笙阅读 179评论 0 0