It's starting to become a _ViewImports extravaganza!, the following is a default Razor Components Template (3.0.0 preview 3):

Personally I find the use of ViewImports handy but I'm always doubting in which file I should put my content (namespaces, layout etc). Can't we combine some viewimports or create a property on .razor files which specify their layout?
Thanks for contacting us, @vertonghenb.
The existence of _ViewImports.cshtml file is intentional per each view directory, as they are hierarchical: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/layout#importing-shared-directives. That helps a lot of customers to get started.
You can, of course, apply the layout in each of the .razor files, but that would become repetitive in case you have multiple files within the same directory, which should follow the same layout.
On the side note, we do plan to eventually get rid of one of the Pages directory in the project structure.
@vertonghenb - I agree, and this will change soon.
_Imports.razor@layout has to remain a directive because Components rendering is top-down. This means that we need to be able to know the layout before rendering a component - it has to be static. You can set @layout in any individual file, closest wins.