Donald Trump has said he will not attend the White House Correspondents’ Dinner, breaking with an annual tradition in which the US president attends a light-hearted roast held by journalists and attended by celebrities.