相关疑难解决方法(0)

ReactJs - 创建一个"If"组件......一个好主意?

我在React文档中读到"if"类​​型语句不能在JSX代码中使用,因为JSX呈现为javascript的方式,它并没有像人们期望的那样工作.

但有没有理由为什么实现"if"组件是一个坏主意?它似乎从我最初的测试中运行良好,让我想知道为什么不经常这样做?

我的部分目的是尽可能地让反应开发,基于标记 - 尽可能少的javascript.对我而言,这种方法更像是一种"数据驱动"方法.

你可以在这里查看JS Fiddle

<script type='text/javascript' src="https://unpkg.com/react@0.11.0/dist/JSXTransformer.js"></script>
<script type='text/javascript' src="https://unpkg.com/react@0.11.0/dist/react-with-addons.js"></script>

<script type="text/jsx">
/** @jsx React.DOM */
    
var If = React.createClass({
  displayName: 'If',

  render: function()
  {
    if (this.props.condition)
      return <span>{this.props.children}</span>
    return null;
  }
});

var Main = React.createClass({
    render: function() {
        return (
           <div>
             <If condition={false}>
                <div>Never showing false item</div>
             </If>
             <If condition={true}>
                <div>Showing true item</div>
             </If>
          </div>
        );
    }
});

React.renderComponent(<Main/>, document.body);
</script>
Run Code Online (Sandbox Code Playgroud)

运行以上结果:

显示真实的项目

javascript reactjs

53
推荐指数
5
解决办法
4万
查看次数

标签 统计

javascript ×1

reactjs ×1