react的阻止冒泡的问题

首先哈,我知道 event.preventDefault();这种阻止冒泡的方法,大师问题是我之前在onclick里面已经传递参数了,无法用event,应该怎么破啊,代码如下

changeActive(index){
        return () => {
            const dataSource = [...this.state.dataSource];
            dataSource[index].state = '激活';
            this.setState({ dataSource });
        };
    };
阅读 2.2k
2 个回答

试试:

changeActive(index){
        return (event) => {
            const dataSource = [...this.state.dataSource];
            dataSource[index].state = '激活';
            this.setState({ dataSource });
            event.preventDefault();
        };
    };

给事件添加一层匿名函数来阻止冒泡

<a onClick={(e) => {
        e.preventDefault();    // 阻止默认事件
        e.stopPropagation();    // 阻止冒泡
        this.props.handleClick(param);
}}>点击</a>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题