After migration from 1.9.2.3 to 2.3.4 : Fatal error: Uncaught TypeError: Argument 3 passed to Magento\Framework\View\Element\UiComponentFactory::mergeMetadataElement() must be of the type array, null given. How to solve this issue?
Code path : lib/internal/Magento/Framework/View/Element/ UiComponentFactory .php Function : mergeMetadataElement
Code :
protected function mergeMetadataElement(array $bundleComponents, $name, array $data, $reverseMerge = false)
{
if (isset($bundleComponents[$name])) {
$bundleComponents[$name] = $reverseMerge
? array_replace_recursive($data, $bundleComponents[$name])
: array_replace_recursive($bundleComponents[$name], $data);
return [$bundleComponents, true];
} else {
foreach ($bundleComponents as &$childData) {
if (isset($childData['attributes']['class'])
&& is_a($childData['attributes']['class'], \Magento\Ui\Component\Container::class, true)
&& isset($childData['children']) && is_array($childData['children'])
) {
list($childData['children'], $isMerged) = $this->mergeMetadataElement(
$childData['children'],
$name,
$data,
$reverseMerge
);
if ($isMerged) {
return [$bundleComponents, true];
}
}
}
}
return [$bundleComponents, false];
}