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>
Выполнение вышеупомянутых результатов в:
Показывать истинный предмет