Saya baru dalam bereaksi dan saya mengalami kesulitan untuk merender ulang komponen ketika saya melakukan tugas saya.

Di navbar saya, saya memiliki tiga tautan: Home, user and Courses.

Jika pengguna mengklik "kursus" (/kursus?quick-kursus=true#kursus), komponen akan menampilkan dan menampilkan daftar mata kuliah(Tautan). Jika pengguna mengklik salah satu Tautan seperti "The Javascript"(/courses/3?title= Javascript) dan kemudian mengklik "Courses" (/courses?quick-courses=true#courses) dari navbar lagi, konten dari komponen "kursus" tidak akan dirender lagi untuk menampilkan daftar konten mata kuliah.

Saya mencoba menggunakan shouldComponentUpdate() dan componentDidUpdate() untuk menetapkan this.props.location.search ke status dan banyak cara lain untuk menyelesaikan masalah ini. namun itu tidak bekerja untuk saya.

Inilah komponen saya dan apa yang saya lakukan sejauh ini :components-assignment-3

Terimakasih banyak.

-1
Shang 20 November 2020, 17:35

1 menjawab

Jawaban Terbaik

Ketika Anda mengklik /courses?quick-courses=true#courses Anda membuat rute ini <Route path="/courses" component={Courses} />

Pada titik ini, rute itu dimuat dan dipasang

Lalu Anda mengklik /courses/3?title= Javascript dan Anda merender <Route path={"/courses/:id"} exact component={Course} />

Sekarang mengklik /courses?quick-courses=true#courses tidak akan merender ulang <Route path="/courses" component={Courses} /> lagi karena sudah dirender, Anda sudah berada di dalam rute ini. itulah sebabnya tidak satu pun dari Anda lifecycle hook yang akan menyala lagi dan showCourse Anda akan menjadi false jadi itulah mengapa Anda tidak akan melihat headerCheck

0
fila90 20 November 2020, 14:58