ReactJs - Создание компонента «Если»… хорошая идея?

Я читал в документации React, что операторы типа «если» не могут использоваться в коде JSX, из-за того, как JSX выполняет рендеринг в javascript, он не работает так, как можно было бы ожидать.

Но есть ли причина, по которой реализация компонента «если» - плохая идея? Похоже, что он отлично работает из моих первоначальных тестов и заставляет задуматься, почему это не делается чаще?

Часть моего намерения состоит в том, чтобы позволить разработке реакции быть максимально возможной, основанной на разметке - с как можно меньшим количеством javascript. Для меня такой подход больше похож на подход, основанный на данных.

Вы можетепроверить это здесь на JS Fiddle

<script type='text/javascript' src="https://unpkg.com/[email protected]/dist/JSXTransformer.js"></script>
<script type='text/javascript' src="https://unpkg.com/[email protected]/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>

Выполнение вышеупомянутых результатов в:

Показывать истинный предмет

Ответы на вопрос(12)

Ваш ответ на вопрос