I use Scott No-Fog Cloths to keep my visor clear on cool mornings. Each cloth comes in zip lock bag, making it reusable. I’ve found it’s a lot easier to carry one of these cloths in my jacket pocket than it is to carry a bottle of no-fog spray. Simply breathe on the inside of your visor to create a layer of moisture, wipe with the cloth and let it dry for a minute.
NOTE1: You must breathe on your visor first before wiping with the cloth for it to be effective.