Faits:
Faits:
A. X._, ressortissant du Nigeria né en 1978, a épousé le 13 février 2003 au Nigeria Y._, de nationalité suisse. Dès le mois de juin 2003, ils ont vécu ensemble au domicile familial du Petit-Lancy, en compagnie des deux enfants de Y._. X._ a obtenu une autorisation de séjour "B" en Suisse qui était valable jusqu'au 11 juin 2004. Il a exercé divers emplois à Genève.
X._ a été arrêté à Genève sur la base d'un mandat émis le 14 mai 2004. Il a été inculpé de violation grave de la loi fédérale sur les stupéfiants (art. 19 ch. 2 LStup) pour avoir, à Genève en 2004, reçu, conservé, remis à des tiers ou vendu plusieurs centaines de grammes de cocaïne. La détention préventive a été prolongée à plusieurs reprises.
X._ a été arrêté à Genève sur la base d'un mandat émis le 14 mai 2004. Il a été inculpé de violation grave de la loi fédérale sur les stupéfiants (art. 19 ch. 2 LStup) pour avoir, à Genève en 2004, reçu, conservé, remis à des tiers ou vendu plusieurs centaines de grammes de cocaïne. La détention préventive a été prolongée à plusieurs reprises.
B. Le 23 décembre 2004, X._ a requis sa mise en liberté provisoire; il a offert le versement d'une caution de 10'000 fr. Cette requête a été refusée par une ordonnance de la Chambre d'accusation de la République et canton de Genève, rendue le jour même. Cette juridiction a considéré que la peine encourue pour un trafic portant sur plusieurs centaines de grammes de cocaïne paraissait suffisamment importante pour inciter le prévenu à ne pas se présenter à l'audience de jugement, indépendamment de ses attaches en Suisse; le versement d'une caution ne saurait pallier ce risque. L'ordonnance retient également un risque de réitération, en dépit du fait qu'il reprendrait la vie commune avec son épouse et exercerait une activité lucrative. La durée de la détention préventive - un peu plus de sept mois à la date de l'ordonnance - a été décrite comme conforme au principe de la proportionnalité, l'audience de jugement dans la cause pénale devant être fixée prochainement. La Chambre d'accusation a enfin renvoyé aux considérants d'une précédente ordonnance, du 19 octobre 2004 qui, en l'absence de faits nouveaux, "gard[aient] toute leur actualité et f[aisaient] partie intégrante de la présente décision".
B. Le 23 décembre 2004, X._ a requis sa mise en liberté provisoire; il a offert le versement d'une caution de 10'000 fr. Cette requête a été refusée par une ordonnance de la Chambre d'accusation de la République et canton de Genève, rendue le jour même. Cette juridiction a considéré que la peine encourue pour un trafic portant sur plusieurs centaines de grammes de cocaïne paraissait suffisamment importante pour inciter le prévenu à ne pas se présenter à l'audience de jugement, indépendamment de ses attaches en Suisse; le versement d'une caution ne saurait pallier ce risque. L'ordonnance retient également un risque de réitération, en dépit du fait qu'il reprendrait la vie commune avec son épouse et exercerait une activité lucrative. La durée de la détention préventive - un peu plus de sept mois à la date de l'ordonnance - a été décrite comme conforme au principe de la proportionnalité, l'audience de jugement dans la cause pénale devant être fixée prochainement. La Chambre d'accusation a enfin renvoyé aux considérants d'une précédente ordonnance, du 19 octobre 2004 qui, en l'absence de faits nouveaux, "gard[aient] toute leur actualité et f[aisaient] partie intégrante de la présente décision".
C. Agissant par la voie du recours de droit public, X._ demande au Tribunal fédéral d'annuler l'ordonnance du 23 décembre 2004 et d'ordonner sa mise en liberté immédiate. Il se plaint de violations des art. 10, 31, 36 Cst. et 5 CEDH en reprochant à la Chambre d'accusation d'avoir retenu à tort un risque de fuite et de réitération.
Par ordonnance présidentielle du 25 janvier 2005, le Procureur général de la République et canton de Genève a été invité à répondre au recours de droit public jusqu'au 1er février 2005. Sa réponse a été remise le 2 février 2005 à un office de la Poste suisse, à l'adresse du Tribunal fédéral.
Par ordonnance présidentielle datée également du 25 janvier 2005, la Chambre d'accusation a été invitée à répondre et à produire le dossier de la cause. Dans le délai de réponse, la Chambre d'accusation a déclaré renoncer à déposer des observations, tout en proposant le rejet du recours. Le dossier de la procédure pénale a été envoyé au Tribunal fédéral le 4 février 2005.
Par ordonnance présidentielle datée également du 25 janvier 2005, la Chambre d'accusation a été invitée à répondre et à produire le dossier de la cause. Dans le délai de réponse, la Chambre d'accusation a déclaré renoncer à déposer des observations, tout en proposant le rejet du recours. Le dossier de la procédure pénale a été envoyé au Tribunal fédéral le 4 février 2005.
D. X._ requiert l'octroi de l'assistance judiciaire et la désignation comme avocat d'office de Me Yves Bertossa, auteur de l'acte de recours.
D. X._ requiert l'octroi de l'assistance judiciaire et la désignation comme avocat d'office de Me Yves Bertossa, auteur de l'acte de recours.
E. Il ressort du dossier de la procédure pénale ouverte contre X._ que le Procureur général, par feuille d'envoi du 27 janvier 2005, a transmis l'affaire au Tribunal de police.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. La réponse du Procureur général, tardive (art. 32 al. 3 OJ), ne doit pas être prise en considération.
1. La réponse du Procureur général, tardive (art. 32 al. 3 OJ), ne doit pas être prise en considération.
2. La détention préventive est une restriction de la liberté personnelle (art. 10, 31 al. 1 Cst., art. 5 CEDH) qui n'est admissible que dans la mesure où elle repose sur une base légale, répond à un intérêt public et respecte le principe de la proportionnalité (art. 36 al. 1 à 3 Cst.; ATF 123 I 268 consid. 2c p. 270).
2.1 En l'espèce, l'existence de la base légale en droit cantonal n'est pas contestée (art. 145 ss du code de procédure pénale [CPP/GE]). D'après la jurisprudence, la détention préventive ne répond à un intérêt public que si, entre autres conditions, il existe des raisons plausibles de soupçonner la personne concernée d'avoir commis une infraction (art. 5 par. 1 let. c CEDH). En outre, l'incarcération doit être justifiée par les besoins de l'instruction ou du jugement de la cause pénale, ou par la sauvegarde de l'ordre public. Il faut qu'en raison des circonstances, l'élargissement du prévenu fasse naître un risque concret de fuite, de collusion ou de récidive (cf. également, à propos de ces conditions, l'art. 34 CPP/GE, par renvoi de l'art. 145 CPP/GE). La gravité de l'infraction ne peut pas, à elle seule, justifier la prolongation de la détention, même si elle permet souvent de présumer un danger de fuite en raison de l'importance de la peine dont le prévenu est menacé (ATF 125 I 60 consid. 3a p. 62; 117 Ia 69 consid. 4a p. 70 et les arrêts cités).
2.2 Le recourant fait valoir qu'il a "quasiment intégralement admis" les charges retenues contre lui au cours de l'instruction, charges qu'il résume ainsi, en substance: à Genève, en 2004, il a recherché un fournisseur à la demande d'un tiers, pour de grandes quantités de cocaïne à livrer à ce dernier; il a conservé 500 g de cocaïne pour le compte de ce tiers et remis à un ami de ce dernier une quantité importante de cette drogue; il a revendu au tiers précité 500 g de cocaïne, provenant d'une autre livraison; il a vendu à une autre personne 40 g de cocaïne. Il n'est pas contesté qu'il est menacé, en raison de pareils faits, d'une peine privative de liberté de plusieurs années.
Le recourant conteste le risque de fuite en invoquant sa situation familiale, avec la présence de son épouse à Genève, les possibilités qu'il aurait de travailler pour des employeurs prêts à l'engager après sa libération, et son offre de verser une caution de 10'000 fr., représentant une somme importante pour lui-même et ses proches. Selon la jurisprudence, le risque de fuite ne peut s'apprécier sur la seule base de la gravité de l'infraction même si, compte tenu de l'ensemble des circonstances, la perspective d'une longue peine privative de liberté permet souvent d'en présumer l'existence (ATF 125 I 60 consid. 3a p. 62 et les arrêts cités); il doit s'analyser en fonction de critères tels que le caractère de l'intéressé, sa moralité, ses ressources, ses liens avec l'Etat qui le poursuit ainsi que ses contacts à l'étranger, qui font apparaître le risque de fuite non seulement possible, mais également probable (ATF 117 Ia 69 consid. 4 p. 70 et les arrêts cités). En l'espèce, il ressort du dossier que le recourant, après un premier séjour en Suisse en 2000 et 2001 comme requérant d'asile, a vécu ensuite en Espagne, où il a travaillé. Avant de s'installer à nouveau en Suisse en juin 2003, il également séjourné dans son pays d'origine. Il a ainsi manifestement conservé des contacts récents à l'étranger, en Europe et en Afrique. Il affirme pouvoir occuper un emploi en Suisse (aide-jardinier pour des travaux forestiers, au service d'une association pour laquelle il n'avait semble-t-il pas travaillé auparavant) mais, d'après les pièces produites, cela ne lui procurerait qu'un revenu modeste; il admet par ailleurs que la situation financière de sa famille est précaire. Dans ces circonstances, le versement d'une caution de 10'000 fr., montant qui est objectivement faible, ne saurait parer au risque de fuite. En définitive, la Chambre d'accusation a à juste titre considéré que le recourant pourrait préférer quitter la Suisse plutôt que prendre le risque de devoir y purger une peine privative de liberté de longue durée. Le maintien en détention préventive répond donc à un intérêt public pour ce motif et les griefs du recourant à ce sujet sont mal fondés. Il n'y a dès lors pas lieu de se prononcer sur le risque de réitération.
2.3 Le recourant ne se prévaut pas du principe de la proportionnalité. Il sied néanmoins de relever à ce propos que la durée de la détention préventive n'apparaît en l'état en tout cas pas excessive, l'audience de jugement devant au demeurant être bientôt fixée.
2.3 Le recourant ne se prévaut pas du principe de la proportionnalité. Il sied néanmoins de relever à ce propos que la durée de la détention préventive n'apparaît en l'état en tout cas pas excessive, l'audience de jugement devant au demeurant être bientôt fixée.
3. Il s'ensuit que le recours de droit public doit être rejeté.
La demande d'assistance judiciaire doit être admise, les conditions de l'art. 152 OJ étant remplies. Il n'y a donc pas lieu de percevoir un émolument judiciaire. Me Bertossa doit être désigné comme avocat d'office et ses honoraires, fixés conformément au tarif des dépens, seront supportés par la caisse du Tribunal fédéral (art. 152 al. 2 OJ).
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours de droit public est rejeté.
1. Le recours de droit public est rejeté.
2. La demande d'assistance judiciaire présentée par le recourant est admise.
2. La demande d'assistance judiciaire présentée par le recourant est admise.
3. Il n'est pas perçu d'émolument judiciaire.
3. Il n'est pas perçu d'émolument judiciaire.
4. Me Yves Bertossa, avocat à Genève, est désigné comme avocat d'office du recourant et ses honoraires, arrêtés à 1'500 fr., seront supportés par la caisse du Tribunal fédéral.
4. Me Yves Bertossa, avocat à Genève, est désigné comme avocat d'office du recourant et ses honoraires, arrêtés à 1'500 fr., seront supportés par la caisse du Tribunal fédéral.
5. Le présent arrêt est communiqué en copie à l'avocat d'office du recourant, au Procureur général et à la Chambre d'accusation de la République et canton de Genève.
Lausanne, le 10 février 2005
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le juge présidant: Le greffier: