Forms need to be able to pass state to deeply nested children, specifically validation state. You will need map React.Children in order to setState for each child. Unfortunately this doesn't solve the problem of of deeply nested inputs. In order to combat this we will need to use a recursive function to check against each nested level to see if it has an input for validation.
function recursiveCloneChildren(children) {
const that = this;
return React.Children.map(children, child => {
var childProps = {};