President Trump has said "hate has no place in our country" after two mass shootings killed 29 people in Texas and Ohio.