if语句如何以react风格运行函数?

时间:2019-06-17 12:14:32

标签: javascript reactjs

我正在尝试以if语句的方式运行函数,但出现错误:

  

第89行:希望进​​行赋值或函数调用,而是看到了   表达式no-unused-expressions

我在哪里弄错了?

这是我的代码:

anim() {
   console.log('function running')
}

render() {
    function onChange(isVisible) {
      isVisible ? (
       this.anim()
      ) : null
    }
......

2 个答案:

答案 0 :(得分:1)

您不应该声明一个函数,而是渲染方法,而不是在外部声明它

您的渲染函数应该是这样的

render() {
    const {isVisible} = this.state;
    return(
           <div> 
             {isVisible ? "I'll be printed if visible" : "I'll be printed if false"} 
          </div>
    )}

理想情况下,您应该在onChange函数中更新isVisbile的状态,并在更改状态值时调用render函数,因此将再次执行作为IF语句的三元运算符并进行相应的渲染。

使用三元运算符可以检查所需条件

答案 1 :(得分:0)

您可以这样使用:

  render() {
        function onChange(isVisible) {
          isVisible ?  this.anim() : null;
        }