wrapper.instance().componentWillReceiveProps({ location: { pathname: '/index' } },
keydown: { event: { which: 39 } } });
expect(wrapper).props('his').toBe('...');
expect(wrapper.props('his').push).toBeCalledWith('...');
describe('Component', () => {
...
describe('componentWillReceiveProps()', () => {
it('if loc = "/index" && k = 39', () => {
...
});
});
});
$(el).on('click', function() {
$(this).toggleClass(className);
});
// Первый вариант с jQ. Где e - это нужный селектор,
// на который нужно повесить событие "клик"
// this - тот же селектор, его можно заменить на другой, нужный
// className - это имя класса, который нужно добавлять
// и удалять по событию "клик"
// Так как подозреваю, что Вы недавно в JS, объясню подробней:
// Большинство листенеров (слушателей, событий) можно повесить
// Именно описанным сверху способом, где мы меняем
// 'click' на 'mousemove', 'resize' и так далее по необходимости
// Первый параметр здесь - название события
// Второй - функция-коллбэк, функция обратного вызова,
// Которая срабатывает при наступлении этого события
// И никогда иначе.
// Внутри тела функции-коллбэка (то есть внутри фигурных скобок)
// Проводим все необходимые Вам действия.
document.querySelector(el).addEventListener('click', function() {
el.classList.toggle(className);
});
// Второй вариант на plain JS, делает то же самое
// Для простоты, красоты и читабельности кода можно
// заранее объявить переменную
// и записать в неё ДОМ-элемент:
var el = document.querySelector(el).
el.addEventListener(....)
<div class="flex-container">
<div class="flex-inner first"></div>
<div class="flex-inner second"></div>
<div class="flex-inner third"></div>
</div>
.flex-container {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 100vw;
height: 100vh;
}
.flex-inner {
display: flex;
}
.first {
background-color: orange;
width: 65%;
height: 100%;
}
.second {
background-color: green;
width: 35%;
height: 50%;
}
.third {
background-color: yellow;
width: 35%;
height: 50%;
}