Faits: A. Par décision du 24 septembre 2004, l'Office cantonal de l'assurance-invalidité du canton de Genève (l'office AI) a alloué une rente entière d'invalidité à D._ à partir du 1er août 2003, fondée sur un degré d'invalidité de 93 %. L'évaluation de l'invalidité, effectuée selon la méthode mixte, tenait compte d'une incapacité totale de travail dans un emploi d'assistante en pharmacie, exercé à 90 %; l'office AI disposait notamment des avis docteurs G._, médecin traitant (rapport du 10 juin 2004), et C._, médecin au Service X._ (rapport du 12 juillet 2004). Pour les tâches ménagères, auxquelles 10 % du temps était consacré, l'empêchement s'élevait à 30 %. Dans le cadre de la révision du droit à la rente, initiée en septembre 2005, l'office AI a confié un mandat d'expertise au professeur E._, rhumatologue à la Clinique Y._. A l'examen des conclusions de l'expert E._ (rapport du 20 septembre 2006), le docteur H._, médecin au Service X._, a estimé que la capacité de travail de l'assurée avait toujours été de 80 %, hormis une période périopératoire en 2003 (note du 30 octobre 2006). Lors d'une enquête économique sur le ménage, l'assurée a déclaré qu'elle occuperait une activité lucrative à 50 % sans atteinte à la santé; quant aux empêchements dans le ménage, ils ont été chiffrés à 14,2 % (enquête du 19 mars 2007). L'office AI a fait savoir à l'assurée qu'il envisageait de supprimer la rente, dès lors que le taux d'invalidité s'élevait à 7 % (projet de décision du 29 mars 2007). Exerçant son droit d'être entendue, l'assurée a allégué que son état de santé s'était dégradé; elle a produit des attestations médicales du docteur G._ et de la clinique Z._, et annoncé une consultation auprès du docteur R._ en vue d'une intervention. Par décision du 24 janvier 2008, conforme à son projet, l'office AI a supprimé la rente. B. D._ a déféré cette décision au Tribunal des assurances sociales du canton de Genève (aujourd'hui : Cour de justice de la République et canton de Genève, Chambre des assurances sociales) en concluant au maintien de sa rente. Par jugement du 11 novembre 2008, la juridiction cantonale a admis le recours et annulé la décision du 24 janvier 2008. Saisi d'un recours de l'office AI, le Tribunal fédéral a annulé ce jugement, par arrêt du 28 septembre 2009 (9C_9/2009) et renvoyé la cause aux premiers juges. Dans un nouveau jugement du 11 mai 2010, la Chambre des assurances sociales a annulé la décision du 24 janvier 2008 au sens des considérants, admis partiellement le recours et reconnu le droit de l'assurée à une demi-rente d'invalidité à partir du 1er juin 2007, sur la base d'un degré d'invalidité de 57 % (ch. 2 à 4 du dispositif). Par ailleurs, elle a "renvoyé" la cause à l'office AI afin qu'il examine la question du droit à la rente à partir de la fin de l'année 2008 et rende une nouvelle décision (ch. 5 du dispositif). C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant à la confirmation de sa décision du 24 janvier 2008. L'intimée conclut au rejet du recours avec suite de frais et dépens; elle sollicite par ailleurs le bénéfice de l'assistance judiciaire. L'Office fédéral des assurances sociales a renoncé à se déterminer. Par ordonnance du 10 septembre 2010, le Juge instructeur a admis la requête d'effet suspensif au recours présentée par l'office recourant. 