Подход к массиву выше, но вы можете условно включить элементы в массив, а затем отфильтровать «ложные» значения, используя метод .filter(Boolean)
. Это позволяет включать элемент, только если условие истинно.
import * as React from 'react'
import { Pivot, PivotItem, InsertView, Label } from '.'
export interface PivotProps {
isComposeMode: boolean
}
class MainNav extends React.Component<PivotProps> {
public render() {
const items = [
this.props.isComposeMode && <PivotItem key="insert" headerText="Insert"><InsertView /></PivotItem>,
<PivotItem key="review"headerText="Review"><Label>Review</Label></PivotItem>,
<PivotItem key="settings" headerText="Settings"><Label>Settings</Label></PivotItem>
].filter(Boolean)
return (
<Pivot>
{items}
</Pivot>
)
}
}
Вы также должны получить isComposeMode
в родительском компоненте и передать его в качестве реквизита. Это сделает ваш компонент более пригодным для повторного использования и не будет привязывать его к вашей бизнес-логике.