Faits: A. A._ est détenu depuis le 30 août 2010, sous la prévention d'infraction grave à la loi fédérale sur les stupéfiants (LStup; RS 812.121). Il lui est reproché en substance de s'être livré à un trafic de cocaïne portant sur une quantité de quelque 477 boulettes qui représenteraient environ 75 g de drogue pure. Il a été placé en détention provisoire en raison de l'existence d'un risque de fuite. Par ordonnance du 29 juin 2011, le Tribunal des mesures de contrainte du canton du Valais (ci-après: le Tmc) a rejeté une requête de mise en liberté présentée par A._ et il a ordonné le maintien de la détention provisoire jusqu'au 29 septembre 2011. Le prénommé a contesté cette ordonnance auprès du Juge unique de la Chambre pénale du Tribunal cantonal du canton du Valais (ci-après: le Tribunal cantonal), qui a rejeté ce recours par ordonnance du 22 juillet 2011. Ce tribunal a considéré que les charges pesant sur l'intéressé étaient suffisantes et que le maintien en détention était justifié par l'existence d'un risque de fuite. B. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler cette ordonnance et d'ordonner sa libération immédiate, subsidiairement de renvoyer la cause à l'instance précédente pour nouvelle décision. Il se plaint d'arbitraire dans la constatation des faits, remet en cause le caractère suffisant des charges, conteste l'existence d'un risque de fuite et invoque une violation du principe de la proportionnalité. Il requiert en outre l'octroi de l'assistance judiciaire. Se référant aux considérants de la décision attaquée, le Ministère public du canton du Valais - Office régional du Bas-Valais - conclut au rejet du recours. Le Tribunal cantonal s'est déterminé brièvement. Le recourant a renoncé à présenter des observations complémentaires. 