亲宝软件园·资讯

展开

react 页面加载完成后自动执行标签的点击事件的两种操作方法

jjw_zyfx 人气:0

react 页面加载完成后自动执行标签的点击事件

当刚进入页面时react并没有自动加载路由,因为没有设置只是设置了key,所以并没有加载 用到了ant design的layout组件,代码设置如下:

第一种操作dom的方法:

但是想让页面加载完成后自动点击link这个标签,然后加载home的组件,方法有这么几种:

componentDidMount() {
  if (window.location.hash.split('/')[1]==undefined||window.location.hash.split('/')[1]==""){
    // 第一种通过DOM元素获取标签并执行点击事件
    var label = document.getElementById("moren").click();
    
  }
}

第二种修改window.location.href代码如下:

componentWillMount() {
   // 先判断如果确实是第一次进来就修改其属性
  if (window.location.hash.split('/')[1]==undefined||window.location.hash.split('/')[1]==""){
      window.location.href = window.location.href+"#/home"
  }
}

下面看下react 点击事件自动执行的解决方法?

点击事件内容若是直接写Function() ,就会变成执行函数而非事件绑定,页面加载时会自动执行

class Title extends React.Component {
  render(){
      return <h1 onClick={func('页面跳转')}>{title}</h1>  
  }
}

用箭头函数装饰一下完成间接绑定即可避免:

class Title extends React.Component {
  render(){
      return <h1 onClick={() => func('页面跳转')}>{title}</h1>  
  }
}

或是:

class Title extends React.Component {
  render(){
      return <h1 onClick={func.bind(this, '页面跳转')}>{title}</h1>  
  }
}

over

加载全部内容

相关教程
猜你喜欢
用户评论