The states are certainly free to do so, but it just makes them less important in the election. It may be worth campaigning for Minnesota’s 10 electoral votes. It is not worth campaigning for 1 or 2 electoral votes per Congressional district.
On the other hand, I am all in favor of reliably Democrat states doing so. Rather than all of their electoral votes going to the Democrat, at least some will go to the Republican.
It would be stupid for any Republican states to do so.
it would decrease the power of large population cities which are usually high percent and total votes for democrats. Michigan, PA, CA and NY would be a good thing.
10 Dem states passed National Popular Vote Interstate Compact