I don't have this problem. My son is 3 years old and once, about 2-3 months ago, when he was playing in the playground downstairs, he lost his temper and started shouting at people, i mean children of his own age. I said no to him and he started to go naughty and cried-without tears. the best way to deal with this reaction is - ignore him.
The most important thing in our family is education by demonstrations by us - mummy and daddy. We never argue or lose our temper when he is around. we never hit him or shout at him.