<MyButton onPress={() => {doSomething(data)} }>
Dieser Codeblock die ES6 Pfeil Funktion verwendet; Das ist eine andere Möglichkeit, eine Funktion in Javascript zu deklarieren. Der Bereich this
in der Pfeilfunktion hängt auch davon ab, wo die Funktion erstellt wurde, im Gegensatz zur normalen Bereichsregel this
, die standardmäßig von abhängt, wie die Funktion genannt wurde.
<MyButton onPress={ this.doSomething.bind(this) }>
Diese Aussage macht doSomething
Methode einen Anruf. Aber da die Ereignisregistrierung auf einem anderen Element erfolgt, ist der Gültigkeitsbereich von doSomething
anders und wird zwingend mit der Methode bind
in Javascript verknüpft.
Auch in der zweiten Methode übergeben Sie nicht den Datenparameter, den Sie mit dem zweiten Argument der Methode übergeben können, wie unten gezeigt.
<MyButton onPress={ this.doSomething.bind(this, data)} }>