2016-05-14 16 views
2

Mit jQuery, kann ich eine Ereignishandler-Funktion über die on Methode, die auch ausgelöst wird, wenn das DOM und etwas (wie ein Ajax Aufruf) den HTML-Code der Seite auslösen ausgelöst werden.Render Reagieren Komponente automatisch nach Ajax Anruf

Ist es möglich, etwas Ähnliches mit einer React-Komponente zu tun? Nach einem Ajax-Aufruf, der das DOM ändert, wenn ein Element mit einem bestimmten class gefunden wird, rendern Sie es (mit ReactDOM.render(...)).

Dank

+0

schreiben Es sei denn, ich bin Missverständnis, in der Ajax-Aufruf reagieren nicht verantwortlich sein sollte für Ändern des DOMs Eher sollte Ihr Ajax-Aufruf den Status Ihrer reaktiven Komponente ändern, was zu einem rendering führt und wiederum das dom modifizieren sollte. Im Allgemeinen sollte die Reaktion das einzige sein, das für die Veränderung des Doms verantwortlich ist. – Georgemayer

+0

Ich bin nicht in einer einzigen Seite Anwendung von React getan. Nur einige Komponentenbereiche haben "reagiert", andere werden von jQuery aus mehreren Gründen verwaltet. –

Antwort

4

Die Komponente macht, Verantwortung zu reagieren gegeben werden soll. Daher sollten Sie die Antwort von Ajax Call in der current state speichern und reagieren wird die Komponente Rendering basierend auf dem aktuellen Status behandeln. diese APIs aus, wenn Sie nur verwenden, reagieren

https://facebook.github.io/react/docs/component-api.html

oder connect() folgen, wenn Sie in reagieren-redux

+0

Das ist der gute Weg, wenn alles auf Ihrer Seite über React verwaltet wird. In meiner Website (aus verschiedenen Gründen ist es nicht zufällig) ist etwas "reagiert", etwas nicht. Haben Sie eine Lösung für mein Problem? Einen Listener anhängen und reagieren, wenn die Klasse auftritt? –