A US trade war has begun with China, Mexico and Canada.