Spec-Zone.ru › Enzyme

.setContext(context) => Self

Метод, устанавливающий контекст корневого компонента и перерисовывающий его. Полезен для тестирования поведения компонента во времени при изменении контекста.

ПРИМЕЧАНИЕ: может быть вызван только на экземпляре обёртки, который также является корневым экземпляром.

Аргументы

  1. context (Object): Объект, содержащий новые свойства для слияния с текущим состоянием

Возвращаемое значение

ReactWrapper: Возвращает себя.

Пример

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 = mount(<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() может быть использован только на обёртке, которая была первоначально создана с вызовом mount(), включающем context в аргументе опций.
  • Корневой компонент, который вы отображаете, должен иметь статическое свойство contextTypes.

Связанные методы

  • .setState(state[, callback]) => Self
  • .setProps(props[, callback]) => Self

© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ReactWrapper/setContext.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API