小编Cal*_*gll的帖子

使用酶进行 JS 单元测试:如何在继续测试用例之前等待组件方法中的 setState 完成

我有一个组件MyComponent,其方法doSomething更新状态,并renderChildren根据这些状态呈现子组件:

class MyComponent extends Component {
  constructor(props) {
    super(props);
    ...
    this.state = {
      renderChildA: true,
      renderChildB: false,
    };
  }

  doSomething = (params) => {
    // Do something...

    this.setState({ 
      renderChildA: false,
      renderChildB: true,
    });
  }

  renderChildren = () => {
    const { renderChildA, renderChildB } = this.state;
    if (renderChildA) {
      return <ChildComponentA />;
    } else if (renderChildB) {
      return <ChildComponentB />;
    }
  }

  render() {
    return (
      <div>
        {this.renderChildren()}
        ...
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:该组件也连接到 …

javascript reactjs enzyme

6
推荐指数
1
解决办法
3553
查看次数

标签 统计

enzyme ×1

javascript ×1

reactjs ×1