Clean Architecture in and by itself is just a way to organize code within a project and enforce a quite maintainable structure in a way that makes it easy to swap in and out implementations by changing the minimum amount of code.
In it's purest form, clean architecture is just a "divide et impera" framework
presentation
↓
infrastructure
↓
application
↓
model
That's all. Eveything else is just a sovrastructure on top of this. Components fall into this category.
Now, let's assume your application is not contained within a single executable/project, and that your model is shared between multiple autonomous projects; maybe we're talking about an user model and all the necessary info to retrieve and modify such an entity (permissions, getUserById, isAuthorizedForSuch, authentication, GDPR): this information falls within the use cases of a component;
A group of functionality relative to a restricted group of strongly coupled models and functionality that evolve together: a permission entity is strongly coupled with an user entity, for example.
Components are a way to pack together and ship all the related models, business, database and and APIs for this functionality. now obviusly components do still need to depend on abstractions to query the database and such and be easily used.
On the "when do i think about componets" question: it depends.
- Fast initial development or an overall small service or application? Group it together later (if ever); components tend to emerge organically. If your code is based upon inversion of control and neatly organized and separated, extracting components will be an easy refactoring (generally speaking, it obviusly requires you to know where all the shit is in the first place).
- Microservices or large projects and teams (i'm talking 30+ people on the same project)? It'll be easier to think in components first, because from day one you'll need to share models between teams, and having to manually verify if the model in goofylolv1.js is compatible with loldidntknowhowtonamethis.js is not gonna be an easy task; but having to check if team A and B are using v1.1.1 of your MyComponent package is going to be way easier, especially in the initial development phase where the model will change very frequently and functionality will be added continuosly.