title: How to define a tree type in TypeScript?
body: <p>I wrote a tree like type as below:</p>
  
  <pre><code>type ReactNode = ReactChild | Array&lt;ReactNode&gt; 
  </code></pre>
  
  <p>but editor told me that</p>
  
  <blockquote>
    <p>TS2456: type alias 'ReactNode' circularly references itself.</p>
  </blockquote>
  
  <p>How to solve fix this error?</p>