这里我的代码:http://codepen.io/rafaelfndev/pen/gmqmvo反应添加/删除和边栏的切换类与背景叠加
我需要添加类:
.overflow
到body
.overlay-active
到.overlay
.sidebar-active
到#sidebar
我需要添加,当我点击.show-sidebar
独立于具有此类的组件的位置。如果我点击.hide-sidebar
,我需要删除这个类,如果我点击.toggle-class
我需要切换这个类...
我知道如何用jQuery做到这一点,但我读了一些错误的操作React元素使用jQuery ...
我需要做的这段代码究竟是干什么的,但没有jQuery的,只是用阵营模式:
$('.toggle-sidebar').click(function(){
$('#sidebar').toggleClass('sidebar-active');
$('body').toggleClass('overflow');
$('overlay').toggleClass('overlay-active');
});
$('.show-sidebar').click(function(){
$('#sidebar').addClass('sidebar-active');
$('body').addClass('overflow');
$('overlay').addClass('overlay-active');
});
$('.hide-sidebar, overlay').click(function(){
$('#sidebar').removeClass('sidebar-active');
$('body').removeClass('overflow');
$('overlay').removeClass('overlay-active');
});
感谢您的回复,但是这个代码仅更新某些组件,我需要更新到组件这不是一个子女或父母,也一个组件时,是与他们没有联系,就像所有听一个事件,并同时更改*所有*(类)... – rafaelfndev
因此使用组件组成。只需要一个容器组件包含其他组件,这些组件必须根据点击事件更改其状态,并通过道具传递该状态。如果您看到这种模式经常出现,那么使用状态管理库(如mobx或redux)来调度事件,修改全局状态,并让组件绑定到该全局状态可能是一个好主意。 –