hören Wenn ich fünf Komponenten auf einer Seite habe, die etwas aus einem Geschäft bekommen können. Sie alle hören einem einzigen Laden zu. Für alle Komponenten erstelle ich Listener in einem Geschäft.einen Speicher vs forceUpdate()
Meine Frage ist - Kann ich forceUpdate()
anstelle von Listener verwenden. Senden Sie etwas in einem Geschäft und warten Update:
getInitialState: function() {
return {val: Store.getFoo};
},
click: function(info) {
Store.updateInfo(info, function() {
this.forceUpdate();
})
}
Im Shop:
updateInfo: function(info, callback) {
foo = info + someValue;
callback()
}
Aber in der Dokumentation:
Normalerweise sollten Sie versuchen, alle Verwendungen von Forceupdate zu vermeiden() und Lies nur von this.props und this.state in render(). Dies macht Ihre Anwendung viel einfacher und effizienter
Vielen Dank.
bekam es, danke! – nick
Manchmal ist 'shouldComponentUpdate' eine Nervensäge, wenn eine Komponente ein Objekt mit> 10 Eigenschaften wartet und nur eines ändern kann. – nick
Ich frage mich auch, warum ich nicht sollte? Ich kann Variable aus dem Speicher in 'render' erhalten - 'let var = Store.getVar(); '. Wenn ich 'var' in einem Geschäft ändere, kann ich' forceUpdate() 'tun. Ich kann es auch mit "unabhängigen Kindern" machen. "ForceUpdate" rendert Kinder nicht neu, wenn ich keine neuen Requisiten sende. Weniger Code, ich brauche keine Variable in 'state', nur in einem Geschäft – nick