Faits: A. A._, ressortissante roumaine vivant dans un camp de gitans à Annemasse/France, a été inculpée le 10 avril 2010 de vol pour avoir commis plusieurs vols à l'astuce en compagnie de deux compatriotes à Genève. Le mode opératoire consistait à accoster les personnes qui sortaient de la banque afin de leur vendre des journaux ou de leur faire signer des papiers, en profitant ensuite de la diversion pour s'emparer de l'argent que les victimes venaient de retirer. Elle est soupçonnée d'avoir dérobé 200 fr. le 1er avril 2010 à C. B et 200 fr. le 8 avril 2010 à D. W. Le même jour, la Juge d'instruction du canton du Genève (ci-après: la Juge d'instruction) a décerné un mandat d'arrêt en son encontre en raison des risques de fuite et de réitération. Le 15 avril 2010, la Juge d'instruction a sollicité de la Chambre d'accusation du canton de Genève (ci-après: la Chambre d'accusation) la prolongation de la détention de A._ pour une durée de deux mois. Par ordonnance du 16 avril 2010, la Chambre d'accusation a autorisé la détention avant jugement de l'inculpée jusqu'au 16 mai 2010. B. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler l'ordonnance de la Chambre d'accusation du 16 avril 2010 et de prononcer sa mise en liberté immédiate. Subsidiairement, elle conclut au renvoi de la cause à l'autorité cantonale pour nouvelle décision au sens des considérants. Elle requiert en outre l'assistance judiciaire. Elle conteste pour l'essentiel l'existence de charges suffisantes et se plaint d'une violation de son droit d'être entendue ainsi que du principe de la proportionnalité. La Chambre d'accusation se réfère aux considérants de sa décision. Le Ministère public cantonal conclut au rejet du recours. La recourante a répliqué le 30 avril 2010. Elle persiste intégralement dans ses conclusions et produit une copie du procès-verbal de l'audience d'instruction du 28 avril 2010. 