Check out this article called "Yes, React is taking over front-end development. The question is why." It received 11k likes https://medium.freecodecamp.org/yes-react-is-taking-over-front-end-development-the-question-is-why-40837af8ab76
Declarative refers to its syntax. It is written in a way to prioritize simplicity for interactive User Interfaces at different DOM states.
It is component-based meaning it faciliates using re-useable code. You could imagine the header of this forum page as a component. If i'd like to use the same header in another project, I can just use the same header file.