2017-12-11 50 views

Antwort

1

Sie können einen Wrapper für die API-Funktionen erstellen, die Sie verwenden. Verwenden Sie eine Hilfsbibliothek wie , um die Nutzdaten für Anforderungen und Antworten zu konvertieren. Versuchen Sie, die API-Aufrufe so nah wie möglich zu halten.

importieren {camelizeKeys, decamelizeKeys} aus "Buckeln";

$.post("/postendpoint", 
    decamelizeKeys({ 
     fooBar: "zoo", 
    }), 
    function (data, status) { 
     doSomething(camelizeKeys(data)); 
    } 
); 
1

es auf der Client-API-Ebene Doing hält den Zustand Reiniger für Ihre Komponenten und erfordert weniger Iteration/Funktionsaufrufe, als wenn Sie die Transformation in mehreren Komponenten sagen gelten. Weil dies zu unnötigem Rendering führen kann, weil React-Komponenten standardmäßig gerendert werden (jedes Mal, wenn sich Requisiten oder Zustände geändert haben).

Dann wieder könnten Sie es auch bei Ihrer Top-Level-Komponente handhaben und stellen Sie sicher mit shouldComponentUpdate, dass keine unnötige Wiedergabe auftritt, aber das fühlt sich unordentlich an.

TL; DR lassen die transformierten Daten API rieseln an Ihre Komponenten verwirrend Code und unnötige Re-Rendering

+0

'Client API-Ebene' zu ​​vermeiden, so dass Sie auf der Ebene bedeuten, wo der App, die api verbraucht? –

+0

Mit so wenig wie ich über Ihre Projektstruktur weiß, würde ich ja sagen. –

+0

Sie können sich auch ['redux'] (https://github.com/reactjs/reac- te-redux) für eine saubere Statusverwaltung ansehen –

Verwandte Themen