.setContext(context) => Self
Метод, который устанавливает контекст корневого компонента и перерисовывает его. Полезен, когда вы хотите протестировать поведение компонента со временем при изменении контекста.
ПРИМЕЧАНИЕ: может быть вызван только на экземпляре оболочки, который также является корневым экземпляром.
Аргументы
-
context(Object): Объект, содержащий новые свойства для слияния с текущим состоянием
Возвращает
ShallowWrapper: Возвращает себя.
Пример
import React from 'react';
import PropTypes from 'prop-types';
function SimpleComponent(props, context) {
const { name } = context;
return <div>{name}</div>;
}
SimpleComponent.contextTypes = {
name: PropTypes.string,
};
const context = { name: 'foo' };
const wrapper = shallow(<SimpleComponent />, { context });
expect(wrapper.text()).to.equal('foo');
wrapper.setContext({ name: 'bar' });
expect(wrapper.text()).to.equal('bar');
wrapper.setContext({ name: 'baz' });
expect(wrapper.text()).to.equal('baz');
Общие проблемы
-
.setContext()может быть использован только на оболочке, которая была первоначально создана с вызовомshallow(), который включаетcontextв аргументе опций. - Корневой компонент, который вы рендерите, должен иметь статическое свойство
contextTypes.
Связанные методы
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/setContext.html