Мне нравится объяснение выражений с мгновенной вызывной функцией (IIFE
) и if-else
над render callbacks
и ternary operators
.
render() {
return (
<div id="page">
{(() => (
const { banner } = this.state;
if (banner) {
return (
<div id="banner">{banner}</div>
);
}
// Default
return (
<div>???</div>
);
))()}
<div id="other-content">
blah blah blah...
</div>
</div>
);
}
Вам просто нужно познакомиться с IIFE
, {expression}
является обычным синтаксисом React, внутри него просто считают, что вы пишете функцию, которая вызывает себя.
function() {
}()
, которые должны быть обернуты внутри parens
(function() {
}())