Spec-Zone.ru › Enzyme

.setState(nextState[, callback]) => Self

Метод для вызова setState() на экземпляре корневого компонента, аналогично тому, как вы могли бы сделать в методах компонента, и повторно рендерить. Этот метод полезен для тестирования вашего компонента в труднодостижимых состояниях, но следует использовать его с осторожностью. Если возможно, вы должны использовать внешний API вашего компонента (который часто доступен через .instance()), чтобы привести его в нужное вам тестовое состояние, чтобы тест был максимально точным. Однако это не всегда практично.

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

Аргументы

  1. nextState (Object): Объект, содержащий новое состояние для слияния с текущим состоянием
  2. callback (Function [необязательно]): Если предоставлен, функция обратного вызова будет выполнена после завершения setState

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

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

Пример

class Foo extends React.Component {
  constructor(props) {
    super(props);
    this.state = { name: 'foo' };
  }

  render() {
    const { name } = this.state;
    return (
      <div className={name} />
    );
  }
}
const wrapper = shallow(<Foo />);
expect(wrapper.find('.foo')).to.have.lengthOf(1);
expect(wrapper.find('.bar')).to.have.lengthOf(0);
wrapper.setState({ name: 'bar' });
expect(wrapper.find('.foo')).to.have.lengthOf(0);
expect(wrapper.find('.bar')).to.have.lengthOf(1);

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

  • .setProps(props[, callback]) => Self
  • .setContext(context) => Self

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

Spec-Zone.ru

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