Wir schreiben unser currentexpress/jade-frontend um reactjs um. In unserem aktuellen Frontend haben wir Klassen, die Aktionen auslöst, zum Beispiel eine Bootstrap-modal anzuzeigen, wie folgt aus:React: Trigger Aktionen aus der Klasse
$(document).on('click', '.showUserInfo', function(event) {
$('#modal-userInfo').modal('show');
});
Wir haben diese Klassen auf zufällige Elemente (div/Tasten/html) in der Lösung. Das Element, das die Aktion auslöst, ist unterschiedlich, aber die Aktion ist die gleiche.
Konzeptionell habe ich eine schwere Zeit zu verstehen, wie Sie dies in React tun würden. Ich könnte eine Komponente mit dem modalen Element erstellen und damit Elemente umhüllen (d. H. Anstatt die Klasse I mit der neuen Komponente zu umbrechen). Aber würde das nicht zusätzliche Elemente um die umwickelte Komponente erzeugen? Und würde es das Modal nicht an mehreren Stellen um den Code herum erzeugen?
Aber würde dies nicht ein unnötiges div um das Element, das ich wrap? Es wird am Ende wahrscheinlich nichts ausmachen, aber es wäre schön, wenn Sie das verpackte Element unverändert lassen könnten, wie Sie es in meiner aktuellen Lösung tun? – mathan
Denken Sie daran, dass Sie einen Klick-Listener nicht direkt zu einer React-Komponente hinzufügen können, da er nicht direkt ein Element im DOM darstellt. Sie müssen also entweder Ihre Komponente umbrechen oder einen Klick-Callback durchreichen Requisiten und hoffen, dass die Child-Komponente es an einen DOM-Knoten anfügt. –
Perfekt. Habe es heute getestet und es funktioniert wie ein Zauber! – mathan