.setState(nextState[, callback]) => Self
Метод для вызова setState() на экземпляре корневого компонента, аналогично тому, как вы могли бы сделать в методах компонента, и повторно рендерить. Этот метод полезен для тестирования вашего компонента в труднодостижимых состояниях, но следует использовать его с осторожностью. Если возможно, вы должны использовать внешний API вашего компонента (который часто доступен через .instance()), чтобы привести его в нужное вам тестовое состояние, чтобы тест был максимально точным. Однако это не всегда практично.
ПРИМЕЧАНИЕ: может быть вызван только на оберточном экземпляре, который также является корневым экземпляром.
Аргументы
-
nextState(Object): Объект, содержащий новое состояние для слияния с текущим состоянием -
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);
Связанные методы
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/setState.html