Not a book rec, but something I have found to be extremely effective is labelling his feelings. When I can see he's about to lose it Ill ask him if he's angry/sad because of x. He almost always calms right down and nods or says yes. I offer him a cuddle and explain again why x happened.

Usually feeling heard is all it takes to diffuse the situation.