Проблема в том, что вы используете .forEach()
вместо .map()
на Object.keys(props && props.categories)
. ForEach вернет undefined, таким образом, ничего не рендеринг, даже когда функция обратного вызова возвращает значение. Использование map вернет новый массив объектов, основанный на совокупных возвращаемых значениях из функции обратного вызова.
В качестве примечания побуждаю вас переместить логи c для проверки существования props.categories. , снаружи Object.keys ().
{ props && props.categories && Object.keys(props.categories).map(
...
}