US President Donald Trump has said there is no place for hatred in the United States, which in less than 24 hours has seen two shootings that killed 29 people in Texas and Ohio, saying the perpetrators were suffering from "mental illness."

"This has to stop, it's been going on for years," Trump said in a New Jersey state speech. "We've done a lot, but maybe we can do more."

He said he would make a statement on the two incidents on Monday, adding that he had spoken with the FBI, Justice Secretary William Barr and members of Congress about what could be done to prevent other similar violence.

The Texas Public Prosecution said that investigations into the mass shooting in El Paso, which killed 20 people, dealt with the crime as domestic terrorism.

US authorities said the crime was motivated by a hatred of the white supremacy ideology.

On the other hand, the police announced that it was able to identify the attacker of the second attack in Ohio, which occurred hours after the attack El Paso and left ten dead.

For his part, warned the Democratic Representative of California Adam Shiv on Sunday that the terrorism of supporters of the superiority of the white race is a real and present danger.

"When the president and other leaders use racist or offensive language to describe immigrants and Muslims as invaders, angry and isolated armed men listen and take action," said Schiff, chairman of the House Intelligence Committee.

President Trump ordered the flags to be lowered to half the mast in all federal government buildings in honor of "victims of tragedies in El Paso, Texas, and Dayton, Ohio."