反应onClick和preventDefault()不起作用

时间:2017-12-15 14:17:12

标签: javascript reactjs react-redux

我还在我的index.html中使用jQuery尝试了以上所有内容,但似乎没有任何效果。我该怎么做以及我做错了什么?我已经检查了event.type并点击了它,所以我想我应该可以避免重定向?

我的组件组件类:

class ActualNews extends Component{

    componentWillMount() {       
        this.props.fetchNews();
    }

    handleClick = (event) => {      
      this.props.loadNews('some_data');
      //event.preventDefault();
      //event.stopPropagation();
      //event.nativeEvent.stopImmediatePropagation();      
    }

    render(){
      const { list, loading, error } = this.props.dataList;

      if (loading || error){
        return 'loading ...';
      }else{      
        const categories = categories_list.map((c,ix) => {
          if (active_tab === 'actual_tab_'+c['slug'] )
            return (<li className="active" data-tab={'actual_tab_'+c['slug']}><a key={'actual_cat_'+c['slug']}  onClick={this.handleClick} data-slug={c['slug']} >{c['title']}</a></li>);
          else
            return (<li data-tab={'actual_tab_'+c['slug']}><a onClick={this.handleClick} data-slug={c['slug']} >{c['title']}</a></li>);            

      }

    }
}

const mapStateToProps = (state, ownProps) => {  
  return { 
      dataList: state.news.actual_section,
      posts: state.news.actual_posts
  };
}

const mapDispatchToProps = (dispatch) => {

  return {
    fetchNews: () => {
      dispatch(fetchActualNews('main')).then((response) => {
            !response.error ? dispatch(fetchActualNewsSuccess(response.payload.data)) : dispatch(fetchActualNewsFailure(response.payload.data));
          });
    },
    loadNews: (slug) => {
      dispatch(fetchActualPosts(slug)).payload.then((response) => {           
            !response.error ? dispatch(fetchActualPostsSuccess(response.data, slug)) : dispatch(fetchActualPostsFailure(response.data, slug));
        });      
    }  
  }
}
export default connect(mapStateToProps, mapDispatchToProps)(ActualNews);

当我单击某个选项卡菜单重新加载选项卡时。浏览器继续滚动......我想当更改 this.props 重新加载时。

对不起,对于React来说,我是一个新手。

谢谢!

0 个答案:

没有答案