加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在React中反对AngularJS属性指令的一部分

发布时间:2020-12-15 20:19:05 所属栏目:百科 来源:网络整理
导读:在React中实现类似AngularJS的属性指令的最佳方法是什么? 我已经使用React超过6个月了. 据我所知,AngularJS在DOM上工作,React在Virtual DOM上工作,但是我想在React中实现类似于ng-if的东西,而不是在任何地方编写三元运算符.我知道我可以编写一个包装元素组
在React中实现类似AngularJS的属性指令的最佳方法是什么?

我已经使用React超过6个月了.

据我所知,AngularJS在DOM上工作,React在Virtual DOM上工作,但是我想在React中实现类似于ng-if的东西,而不是在任何地方编写三元运算符.我知道我可以编写一个包装元素组件

<ShowIf condition={this.state.something}>
    <div>
        Some text
    </div>
</ShowIf>

但我要找的是这样的

<div doThisIf={this.state.something}>
    Some text
</div>

我是Wix.com遇到的React templates,但它是一个转换器.我正在寻找通用的解决方案.

这可能违反了React的做法,但它确实使事情变得更加容易.有什么建议?

解决方法

而不是尝试使组件执行此操作,在render方法的return语句之前添加条件,如下所示:

React.createClass({

  //... some other stuff

  render: function () {
    var something;
    if (this.state.something) {
      something = (
        <span onClick={this.handleClick}>
          Some React stuff here...
        </span>
      );
    }

    return (
      <div>
        <h1>Something</h1>
        <p>Any other stuff here...</p>
        {/* This only shows up if `this.state.something` is true: */}
        {something}
      </div>
    )
  }
});

如果变量返回null / undefined,它将不会呈现,也不会为其创建HTML.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读