我遇到这个问题,因为我拥有这个组件
export class MyComponent extends Component {
myFunc() {
}
myFunc2(){
}
render this.myFunc() ? (
<div>
{ this.myFunc2() ? (
<AnotherComponent />
) : <Fragment />
}
</div>
)
}
但是我遇到错误:functions are not valid as a react child
是因为我尝试在渲染块中渲染func2
吗?
但是,当我将其分配给const
之类的const x = this.myFunc2()
并渲染x ? something : null
时。错误消失
myFunc
和myFunc2
都只是根据道具返回true或false,所以为什么会出现此错误?
为什么我得到myFunc2
而不是myFunc
的错误?
答案 0 :(得分:1)
首先,您需要使render
之类的函数
render()
第二,您的渲染函数需要返回一个值:
render() { return ....}
最后,您需要完成三元运算符以进行this.myFunc()
条件检查
this.myFunc() ? .... : null
这是一个可行的例子: