Canada, Mexico and China have all vowed to retaliate to Donald Trump's tariffs, sparking fears of a global trade war.