代码之家  ›  专栏  ›  技术社区  ›  zac

如何在javascript中插入HTML?

  •  1
  • zac  · 技术社区  · 6 年前

    这是在if中插入HTML的正确方法吗?

    render() {
        return (
          <div>
                {
                  if (!error) {
                    <p>Sorry - there was an error</p>
                  }
                  else {
                    <p>{this.state.data}</p>
                  }
                }
         </div>
      )
    }
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   John Ruddell    6 年前

    multiple ways you can do this 所有这些都是“正确”和/或有效的方法来做你想做的事情。它实际上取决于您的代码风格,以及什么是可读的/对您有意义的…我将添加一些不同的方法来实现这一点,这样您就可以了解我的意思,并决定哪些方法最适合您。)

    JSX中条件的三元运算符

    <div>
        { error ? <p>Sorry - there was an error</p> : <p>{this.state.data}</p> }
    </div>
    

    内联if与逻辑 && (阿卡 short-circuit evaluation )

    <div>
        { error && <p>Sorry - there was an error</p> }
        { !error && <p>{this.state.data}</p> }
    </div>
    

    另一种方法是使用国际单项体育联合会以外的回报。

    render() {
      const {error} = this.props
      const {data} = this.state
      if (error) {
        return <p>Sorry - there was an error</p>
      }
      return <p>{data}</p>
    }
    
        2
  •  1
  •   Pety Ialimijoro Rakotoniaina    6 年前

    不,在渲染方法中,可以执行以下操作:

    if(condition) {
    return(your html)
    } 
    else {
    return(another html)
    }