2016-03-30 12 views
0

uyarı kaldırılmış. Ben SetProps yöntem çağırırsanız , bunu bir uyarı's SetProps tepki() Ben çocuk bileşeni <strong>PersonsTable</strong> hale ebeveyn bileşeni <strong>App</strong> yılında

Yakalanmayan Değişmez İhlali döndürür: SetProps (...): Bir ebeveyn ile bir bileşeni üzerinde setProps çağırdı. Bu bir anti-desentir, çünkü sahne oluşturulduğunda sahneler reaktif olarak güncellenir. Bunun yerine, sahibinin render yöntemini, oluşturulduğu bileşene doğru değeri sahne olarak iletmek için değiştirin.

nasıl doğru setState yöntemi kullanmadan PersonsTable böyle bir nesne geçmek yapmak ?

Burada bir ref üzerinde setstate arayarak bir anti-desen uygulamak için çalışıyoruz gibi görünüyor tam kod https://jsfiddle.net/jpt5uy1k/

cevap

1

olduğunu. Çocuğa sahne almak ve bunları kullanmak daha iyidir. Eğer devlete ihtiyacınız varsa, onu bir ebeveyn olarak ayarlayın ve bir destek olarak aşağıya aktarın.

<div> 
     <PersonsTable aProp={someCoolInfoOrParentState} /> 
     ... 
    </div> 

siz "uzanmak" ve bir ya da bu sebepten gerçek bir DOM düğümü ele almak gerektiğinde Refs sadece kullanılmalıdır. Ayrıca, genellikle karmaşık olabileceği ve iş yapmak için fazladan "makineler" gerektireceği için, mümkün olduğunca az yerle eyalet isteyebilirsiniz. Durumu tek bir yerde tutmak ve diğer bileşenlerle sıkıştırmak daha iyidir.

https://github.com/reactjs/react-basic bu bakınız:

Biz değişmez olmak bizim veri modelini tercih etme eğilimindedir. Durumu, üstte tek bir atom olarak güncelleyebilen işlevler aracılığıyla işliyoruz.

İlgili konular