Я прочитал в документах React, что операторы типа "если" не могут использоваться в коде JSX, из-за того, как JSX отображается в javascript, он не работает так, как можно было бы ожидать.
Но есть ли причина, по которой внедрение компонента "if" - плохая идея? Кажется, что я отлично справляюсь с моими первоначальными испытаниями и заставляет меня задаться вопросом, почему это не делается чаще?
Часть моего намерения состоит в том, чтобы позволить реагировать на развитие как можно больше, на основе разметки - с минимальным количеством 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>