forceUpdate() {
    if (!RenderDebounce.has(this)) {
      RenderDebounce.set(this, new Promise(resolve => setTimeout(() => {
        RenderDebounce.delete(this);

        this.componentWillReceiveProps(this.props, this.state);

        resolve(this[$$render]());
      })));
    }

    return RenderDebounce.get(this);
  }
Schedule a render to happen, bypassing shouldComponentUpdate. Bound to the
same tick logic as setState, allowing this to be called as many times as
you want.