Вы можете использовать массив:
render() {
const components = [];
if (isAllowed) {
components.push(<span> component 1 </span>);
if (isEditMode) {
components.push(<span> component 2 </span>);
}
}
return <div>{ components }</div>;
}
Это обеспечивает большую гибкость, особенно если у вас много компонентов и другие условия.Конечно, вы также можете сделать это в виде встроенного выражения, а не отдельных выражений, если вы можете сделать его читаемым:
return <div>{
isAllowed
? [
<span> component 1 </span>,
isEditMode ? <span> component 2 </span> : null
]
: null
}</div>
или
return <div>{
isAllowed && [
<span> component 1 </span>,
isEditMode && <span> component 2 </span>
]
}</div>