A proactive approach is a good start for you.
I have a very strong willed 14 yr old daughter. She was a master whiner. She only threw a fit once in the grocery store and that never happened again.
For whining...When she whined I repeated this over and over.
"Wendy Whiner go away, come again another day"
She hated it but to this day, if i call her Wendy, she knows she is in her whine tone.
As for fits, I always told her that I would leave the store if she continued a fit. Yes, she chose to test me one day when I had a basket FULL of groceries. I warned her once. The next time, I rolled my basket to the manager and said...we are having a discipline issue and I must leave my groceries here and come back to get them when my daughter decides to act properly. He kept my groceries in the cooler. I took her home and I went back out later 9and left her with dad) to pick up my groceries.
Good luck. They grow up WAY TOO fast.