Super boleh digunakan dalam react; pembina yang ditakrifkan dalam react mesti memanggil super() untuk memulakan kelas induk super() boleh memanggil pembina kelas induk untuk menggunakan subkelas itu sendiri. this.props" dalam pembina, anda mesti menambah parameter kepada super, dan sintaksnya ialah "super(props)".
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 17.0.1, komputer Dell G3.
Apabila pembelajaran bertindak balas, terdapat super(props) dalam pembina Apakah maksudnya secara khusus?
Sintaks super berasal daripada es6, dan sintaksnya adalah seperti berikut:
super([arguments]); // 调用 父对象/父类 的构造函数 super.functionOnParent([arguments]); // 调用 父对象/父类 上的方法
Jika kita ingin memahami super (props) secara tindak balas, mari kita lihat pembina pembina terlebih dahulu daripada es6
Lihat js berikut
class Person{ constructor(props){ console.log("参数:"+props); console.log("初始化 Person constructor"); this.name = "Person"; } } class Child extends Person{ getName(){ console.log("名字为:"+this.name); } } var child = new Child(); child.getName();
Dalam js, apabila kelas dijadikan instantiated dengan baharu, sistem akan memanggil fungsi pembina secara lalai Dalam kelas Child, kita lakukan tidak mentakrifkan pembina, dan sistem akan mempunyai pembina secara lalai, dan super() akan dipanggil di dalam. Oleh itu, pembina yang kita takrifkan mesti memanggil super() untuk memulakan kelas induk.
Sebagai tindak balas, jika anda tidak perlu menggunakan prop dalam pembina, anda tidak perlu menulis pembina
Ini Perbezaan antara memanggil dan tidak memanggil,
1 Jika anda tidak perlu menggunakan this.props dalam pembina, anda tidak perlu menghantar props kepada super
2. Jika anda tidak mahu menulis logik dalam constructor , tulis sahaja super (props), sebenarnya tidak perlu menulis keseluruhan constructor
3. React kini menyokong yang baru kaedah penulisan, yang sangat mudah untuk memulakan data tanpa pembina
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web ]
Atas ialah kandungan terperinci Bolehkah super digunakan dalam tindak balas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!