taro 不支持render中,使用函数多条件渲染

不支持render中,使用函数多条件渲染
h5不报错,但是编译成小程序时 会报错

错误写法:

onRenderContent = () => {
  const { verified, recognized } = this.state;
  let content = null; // 初始化时,必须赋值,否则小程序报错undefined
  if (verified && recognized) {
    content = (
      <view>验证通过且识别通过 </view>
    ) 
  } else if (!verified && recognized) {
    content = (
      <view> 识别通过但是验证不通过</view>
    )
  } else {
    content = (
      <view> 默认显示的值</view>
    )
  }
  return content;
}

render () {
  return (
    <view>
      {this.onRenderContent()}
    </view>
  )
}

正确写法:

render () {
  const { verified, recognized } = this.state;
  let content = null; 
  if (verified && recognized) {
    content = (
      <view>验证通过且识别通过 </view>
    )
  } else if (!verified && recognized) {
    content = (
      <view> 识别通过但是验证不通过</view>
    )
  } else {
    content = (
      <view> 默认显示的值</view>
    )
  }
  return (
    <view>
      {content}
    </view>
  )
}

.

原文地址:https://www.cnblogs.com/crazycode2/p/10160632.html