Blocks are meant to be combined in different ways. Blocks are hierarchical in that a block can be nested within another block. Blocks can be nested within other blocks at multiple (and sometimes rather complex) levels. Nested blocks and its container are also called children and parent respectively.
For example, a Columns block can be the parent block to multiple child blocks in each of its columns. We interface with this parent/child relationship via innerBlocks API. In the render function for example we’ll reference InnerBlocks
to place and render the children of the block.
InnerBlocks can be further controlled and specified with allowedBlocks
properties and templated
to initialize as certain blocks and even lock
the template from any changes.