Since 2018, I have transitioned to Vue.js for project-specific reasons, and I've been working in Vue since.
I've used Vue.js for several types of projects, from single-page applications to complex multi-layer platforms and I have become quite proficient in it. I will not claim I'm an expert (yet), but I know my way around Vue.js and can handle the development and architecture of complex software projects.
But recently, I have come to a point in my career where it's not clear what the next step should be. Should I focus on becoming a Vue.js specialist, or should I focus on becoming JS-generalist? And to define generalist, a developer who has knowledge on several frameworks and can handle himself in a React, Angular (or other JS-frameworks) application as much as he can in a Vue.js code-base.
Becoming an expert/specialist means you will gain knowledge of a framework you will never obtain when being a generalist. As a generalist, you will know how to use the framework to your needs, as a specialist you will know how the framework itself and its internals work. It will also mean you will gain the status of an expert in the community or company you work in, and will make you the man/woman to go to when problems occur or when complex platforms need to be built. Once recognized, your skills can be acquired for projects and positions all around the world.
But becoming a specialist also has its disadvantages. Having extensive knowledge of a framework can also make you blind to solve issues in different, more efficient ways.
We all had those times where we are breaking our head on a specific feature or bug for hours, but one discussion with a colleague changes the view on the issue and solves it quite rapidly.
Becoming a generalist (React, Angular for example) will broaden the development-knowledge, and can be a real advantage in becoming a better developer. By working in several frameworks, issues and problems will be apprehended differently, because of the knowledge you gathered studying and working in other JS-frameworks.
But being a generalist also means that deep and expert knowledge of a framework will be harder to gain since the focus is not on 1 specific framework. And sometimes that expert knowledge is needed to solve certain issues or build certain projects. It can also make you a better developer.
The IT-industry in the region I work in (Belgium) does not use Vue.js as part of their tech-stack as much as neighboring countries, while the framework is getting more popular all around the world (https://www.codeinwp.com/blog/angular-vs-vue-vs-react).
A look at the (Belgian) job-market makes clear the Angular and React developers are much more in demand than Vue.js developers.
If you can find a vacancy that targets Vue.js, you have to do a deep dive into the list of web-development related job-openings.
So a generalist can be hired for new positions more easily than a specialist (at least in these regions). And if demand for Vue.js developers does not rise in Belgium in the future, being a specialist will probably mean getting hired abroad.
Either way, becoming a Vue.js specialist or a JS-framework generalist will have its advantages and disadvantages.
But it's an important decision to make because it can change the next few years of your career.
As much as becoming a specialist sounds exciting to me, I believe that being a generalist will be more attractive to future employers since as a developer you are multifunctional and can be working on different projects with a different tech-stack.
And in these uncertain times, a multifunctional developer can sound better to future employers than a developer with extended knowledge in 1 framework.
This is my opinion of course, at this point of my career.