我可以让我的React组件使用renderToStaticMarkup有条件地进行渲染吗?

时间:2019-06-18 22:14:28

标签: reactjs

我有一个要为自动视觉回归测试(VRT)准备的组件列表,并且设置了一个系统,可以使用ReactDOM.renderToStaticMarkup单独渲染这些组件以供参考。

在视觉方面,有时将这些组件包裹在WrapperComponent中,并带有其他样式,以便在人眼在屏幕上查看时以不同的方式显示它们。

是否有一种方法可以使WrapperComponent知道其渲染器(可以这么说),以便可以有条件地忽略发送到VRT的标记中的WrapperComponent

基本上,我会做类似的事情:

ReactDOM.renderToStaticMarkup(componentPossiblyWithWrapperComponentInside)

WrapperComponent中:

class WrapperComponent extends React.Component {
  render() {
    return isBeingRenderedForVRT ?
      this.props.children :
      (
      <div className='wrapper-component-for-human-screens'>
        {this.props.children}
      </div>
    )
  }
}

0 个答案:

没有答案