2015-11-12 19 views
5

Satırları ve alt sıraları olan bir tablo oluşturuyorum. Bir alt satırı sildiğimde, tüm bileşeni yeniden oluşturmam gerekiyor. Bu nedenle, silme işlemi başarıyla gerçekleştirildikten sonra getforms yöntemini çağırmam gerekir.Tepki: Bileşeni yeniden işlemek için üst öğesini çağırması gerekiyor

Es6'yı kullanmanın yanı sıra tepki vermek oldukça yeni. Deletetransaction'ı form listesine genişletmeyi denedim ve super.getForms'u aradım. Ama bu da işe yaramadı. Herhangi bir yardım takdir ..

+1

Bir basamaklı prop işlev çağrısı deneyebilirsiniz .. ya da sizin için bir eylem yapmak için bir flux/redux desen kullanmayı deneyin. –

+0

getForms işlevini bileşenler arasında bir destekleyici olarak geçirmeyi denedim. Ancak silme işlemi aslında getforms yöntemlerini çağırdığında, "this" nesnesinin kapsamı handletransaction yöntemidir. Ben handledelete yönteminde "this.state.getForms()" diyoruz. –

+0

bunu başlangıçta getForms'a bağlamanız ve –

cevap

6

Ayrıca sadece olabilir, daha sonra fonksiyonun bir eylem çocuk bileşeninde yürütülmektedir üzerine, çocuk bileşeninin props yoluyla çocuk bileşenine ana bileşeninden bir işlev aşağı geçebileceği geçirildi işlevi çağırmak örneğin

.

var ParentComponent = React.createClass({ 
    update: function() { 
     console.log("updated!"); 
    }, 
    render: function() { 
     <ChildComponent callBack={this.update} /> 
    } 
}) 

var ChildComponent = React.createClass({ 
    render: function() { 
     <button onClick={this.props.callback}>click to update parent</button> 
    } 
}) 
+0

'u daha az dağınık hale getirmek için tüm bileşeni temizleyebilmeniz gerekir, ancak bu ebeveynin – Maysam

+4

@Maysam'ı yeniden oluşturmasını sağlamaz ParentComponent'i yeniden başlatmak için this.setState() öğesini update() içinde çağırabilirsiniz. . –

0

başka işlevi içinde this.setState aramaya çalışıyoruz zaman size durumu belirtmek için çalışıyoruz bilmez.

Örneğin, kod Eğer $ .get (... fonksiyonu (response) {... this.setState() ..}

this.setState fonksiyonu (yanıtının içinde olduğu için) var Bu yerine kök sınıfına işaret daha (yanıtını) çalışması için işaret edecektir.

Yani yapmanız gereken $ .get aramadan önce değişken bir sağa içinde bu kurtarmaktır.

var kendini = bu ve işlev içinde this.setState (..) yerine self.setState (...) yapın

Yardım edin.

İlgili konular