import React from "react";
import { render } from "react-dom";
const obj = {
1: [{ row: 1, name: "file1" }, { row: 1, name: "file2" }],
2: [{ row: 2, name: "file3" }]
};
class App extends React.Component {
render() {
const data = Object.keys(obj).map(key =>
obj[key].map((item, index) => (
<React.Fragment>
{index < 1 && <h1> Element {key} </h1>} {}
<strong> File: </strong> {item.name}{" "}
</React.Fragment>
))
);
return (
<div>
<p>IM THE APP</p>
{data}
</div>
);
}
}
render(<App />, document.getElementById("root"));

This is how you would do it, all thats left for you to do is organize, order, and style it inside of the map.
In depth:
The Object.keys() method returns an array of a given object's own
enumerable properties, in the same order as that provided by a
for...in loop (the difference being that a for-in loop enumerates
properties in the prototype chain as well).
const data = Object.keys(obj).map(key =>
obj[key].map((item, index) => (
<React.Fragment>
{index < 1 && <h1> Element {key} </h1>} {}
<strong> File: </strong> {item.name}{" "}
</React.Fragment>
))
);
Once we do Object.keys(obj) we map through the keys with Object.keys(obj).map and use that to access one array of objects at a time inside of the original object. Inside of our other map function we map that current array and return our jsx.