Dynamically Create Boxes
SOGL, 5 bytes
Ƨ[]*∙
Simple:
Ƨ[] push "[]"
* multiply horizontally (repeating width times)
∙ get an array with input (height) items of that
implicitly output the array joined with newlines
Mathematica, 26 bytes
Grid@Table["[]",{#2},{#}]&
MATL, 7 bytes
v&DiiX"
Try it online!
Explanation
v % Concatenate the (non-existing) stack contents: gives []
&D % String representation: gives '[]'
ii % Take two inputs
X" % Repeat those numbers of times vertically and horizontally. Implicit display