Spec-Zone.ru › Enzyme

.setContext(context) => Self

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

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

Аргументы

  1. 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.

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

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

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

Spec-Zone.ru

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