Donald Trump has called on fans of American Football to stop attending games "until players stop disrespecting our flag and country", amid a row over political protests at US sports events.

The US president has undertaken a weekend-long rant in which he has denounced the protests by NFL players and rescinded a White House invitation for NBA champion Stephen Curry.

His outbursts have brought swift condemnation from league executives and star players alike.

Wading into thorny issues of race and politics, Trump's comments in a Friday night speech and a series of Saturday tweets drew sharp responses from some of the nation's top athletes, with LeBron James calling the president a "bum." Hours later, Major League Baseball saw its first player take a knee during the national anthem.

Trump started by announcing that Curry, the popular two-time MVP for the Golden State Warriors, would not be welcome at the White House for the commemorative visit traditionally made by championship teams: "Going to the White House is considered a great honour for a championship team. Stephen Curry is hesitating, therefore invitation is withdrawn!"

Later, Trump reiterated what he said at a rally in Alabama the previous night - that NFL players who kneel for the national anthem should be fired, and called on NFL Commissioner Roger Goodell to tell them to stand.

He then went further on Sunday morning by telling fans to boycott games.

"If NFL fans refuse to go to games until players stop disrespecting our Flag & Country, you will see change take place fast," he tweeted. "Fire or suspend!"

The Warriors said it was made clear to them that they were not welcome at the White House.

Curry had said he did not want to go anyway, but the Warriors had not made a collective decision before Saturday — and had planned to discuss it in the morning before the president's tweet, to which coach Steve Kerr said : "Not surprised. He was going to break up with us before we could break up with him."

Others had far stronger reactions.