You do not need to attach a component to each node. You can have one component attached to a document that does everything, but it makes sense to break it down into smaller functionalities. IMO, the component must be a function.
For example, you might have a component that interacts with the API through ajax, another that handles views for a particular form, another that manages the contents of the list. Only what one component does is up to you. For portability, reusability and ease of maintenance, it makes sense to keep components small and well defined.
Having said that, you probably don't want to make many, many tiny components. I would not want to create one for each item in the list, but I could create it for each list on the page.
One instance of a component can be attached to a DOM node. Components have access to a complete DOM tree extending from its root node.
source share