*For example 21 month old can be quite defiant. We're not shouty or authoritarian and communicate a huge amount with him, always make sure to explain things very very well, give him lots of notice of what's happening next... but he will do things like - he knows he is not supposed to hit either of us. He knows it is wrong, we have read the 'hands are not for hitting' book 100 times, we have explained and explained it hurts, it's wrong, we don't do it, gentle hands etc. But it's not aggression as such - he will look at us, get a gleam in his eye and do it, specifically to get that reaction, to see what we'll do. And before anyone says its attention seeking, I can be sitting on the rug with him, playing blocks, absolute quality 1:1 time and he does it.
So.... how do we handle that then? Seriously, I would love a book or method recommendation please, because it's not very useful when it's just 'oh, try to understand why your child is frustrated/feeling aggressive' when that's not the issue, I 100% believe it's a boundary testing thing. Sorry for the derail op, but - help!*
In the hitting scenario remember you've got six words to communicate directly with a toddler. I'd say "I don't like it when you hit me!" then pick them up physically and put them somewhere away from you (this gives them a shock factor and makes them take notice). Then when walking away, "If you hit I will not play with you." Then when they cry (they will cry) say "are you sorry?" When they say sorry or whatever you can go back, hug them, say "its alright, no more hitting" and start playing again.
You do need to show them that you are confident, that you're in control, and that you can assert yourself over them if you need to. They'll run rings around you otherwise - and ultimately, being the strong one makes them secure.