2017-11-19 6 views
1

In React componentWillReceiveProps Funktion, wenn ich überprüfe, ob die Requisiten zuerst geändert haben, ist es in Ordnung, dann einen AJAX-Aufruf zu machen? Es scheint, dass diese Funktion in React Fiber mehrfach aufgerufen werden kann (post 16 beta) und dieses Blog (https://medium.com/@baphemot/understanding-reactjs-component-life-cycle-823a640b3e8d) schlägt vor, dass keine Nebenwirkungen durchgeführt werden sollten. Allerdings habe ich in den React-Dokumenten keine solche Warnung gesehen und ich dachte, dass der AJAX-Aufruf nur gemacht wurde, wenn die Requisiten geändert wurden, das wäre OK.Ist es sicher, componentWillReceiveProps() mit Nebenwirkungen aufzurufen

+0

Warum nicht den Ajax Aufruf in 'ComponentDidUpdate' dann? – xDreamCoding

+0

@xDreamCoding, ich arbeite mit diesem Redux-Beispiel https://github.com/reactjs/redux/blob/master/examples/async/src/containers/App.js. Ich nehme an, dass dies getan wurde, weil es nicht nötig war, mit einem der DOM-Knoten zu arbeiten, so dass der AJAX-Aufruf so früh wie möglich erfolgt und der Versand aufgerufen wird, wenn die Antwort zurückkommt. es tritt ein Bruch auf. – user994165

+0

Ich denke, Sie können auf die Beispiele eines Repo mit Kernmitwirkenden des reacts-Teams vertrauen. Was sie dort tun, sollte als Best Practice betrachtet werden, oder? Ich bezweifle nur, dass Sie eine bessere Antwort auf Stackoverflow bekommen könnten. – xDreamCoding

Antwort

0

Es ist in Ordnung, einen Anruf in OnWillReceiveProps zu tätigen, aber es liegt an Ihnen, eine Bedingung zu definieren, die Sinn macht. Wenn Ihr Zustand gut ist, sollten Sie nicht viel telefonieren. Jedenfalls sollten Sie in den meisten Fällen die Verwendung von OnWillReceiveProps vermeiden, die in Bezug auf die Leistung gierig ist.

Verwandte Themen