If you are a junior developer, or you have a team that haven’t come across these technologies, I recommend starting with VueJS. The learning curve for this framework is not very steep, since a lot of stuff is already built in. On the other hand, the setup for ReactJS can be overwhelming for someone who's fresh in the whole JS madness. For a quick start with VueJS, the only necessary thing is the CDN script that needs to be included in your HTML:
Both frameworks virtualize the DOM and both are really fast. In some operations, one outperforms the other and vice-versa. You can find a third-party Vue vs. React performance benchmark here:
I have personally never encountered situations in which the performance of one of these frameworks was insufficient.
The component tree is a key concept in both of these frameworks, and it propagates reusability of the written code itself. Single file components can be reused on different places and in different apps. Currently, React community has the advantage of being the first one to implement a very similar mobile framework - React Native, but Vue community is keeping up with Vue Native. Personally, I adore the looks of Vue Native. However, the fact is that React Native has a much stronger community. Because of that, React is currently reusability-viser, since a lot of code can be used on a mobile platform.
Both frameworks offer robust solutions for complex routing and state management. With Redux on the one side and Vuex on the other, you can easily notice the similarity - they both have the central state, they both have actions, and in both cases mutations can be compared with reducers. Because of that, scalability is not really a comparison point between these frameworks. You should only think about scaling in terms of the team that will support the product being developed. Currently, ReactJS is an industry standard, supported by a much larger community (developed by Facebook). Therefore, nowadays, it is easier to find a ReactJS developer.