Скажем, я делаю компонент-обертку, который должен отображаться сам, только если передаются некоторые дочерние узлы:
const Wrapper = ({children}) => {
if (!children) return null
return <div>{children}</div>
}
Проблема в том, что children
может быть Fragment
, содержащим ноль, илимассив нулей. Или фрагмент, содержащий фрагмент, содержащий ...
<Wrapper>hey</Wrapper> // renders <div>hey</div> ?
<Wrapper>{null}</Wrapper> // renders nothing ?
<Wrapper>{[null]}</Wrapper> // renders <div/> ?
<Wrapper><React.Fragment>{null}</React.Fragment></Wrapper> // renders <div/> ?
Есть ли канонический способ проверить все эти условия?