Police in Texas have said 20 people have been killed and dozens injured in a mass shooting at a Walmart store in El Paso.

Police have detained a white male in his 20s, named as Patrick Cruisuis, in connection with the incident, which happened early on Saturday morning, local time.

The suspect is from Allen, Texas, a Dallas-area city over 1,000km east of El Paso.

Many of those in the busy store were buying back-to-school supplies when they were caught up in the shooting, which came just six days after a teenage gunman killed three people at a food festival in northern California.

Police said that Walmart was "at capacity" at the time of the shooting, with 1,000-3,000 customers inside.

It was the eighth worst mass shooting in modern US history.

Asked during a CNN interview about reports of disturbing online posts made by the suspect, Texas Attorney General, Ken Paxton, said he would not be surprised in any way.

"I think those can help shed light on why he did it. They are still interviewing him", Mr Paxton said.

El Paso police chief Greg Allen said authorities had a manifesto from the suspect that indicates "there is a potential nexus to a hate crime".

Officials declined to elaborate and said the investigation was continuing. The suspect was taken into custody without incident, according to authorities.

US President Donald Trump said on Twitter that the reports from El Paso were "very bad, many killed".

Walmart said in a statement: "We're in shock over the tragic events at Cielo Vista Mall ... We're praying for the victims, the community & our associates, as well as the first responders."

Shops at the mall were also locked down as police officers cleared the shopping centre in the east of the city, which lies on the southern US border with Mexico.