2016-03-19 17 views
0

Çok meteor/tepki programlaması için çok yeni ve javascript ile çok aşina değilim, bu yüzden lütfen cehaletimi affedin.meteor/react - "readOnly" özelliği ne işe yarıyor?

Meteor öğretici here yapmaya çalışıyorum ve aşağıdaki satırı anlamaya çalışıyorum: Özellikle ben readonly={true} yapar ve bu yüzden gerekli olduğunu anlamaya çalışıyorum

<input 
    type='checkbox' 
    readOnly={true} 
    checked={this.state.hideCompleted} 
    onClick={this.toggleHideCompleted} /> 

.

Ayrıca, googling'i denedim ve dokümanlar gibi görünen bu sayfayı buldum, ancak bundan bahsetmiyor bile.

https://facebook.github.io/react/docs/forms.html

takdir Herhangi bir yardım.

cevap

2

readOnly = {true} öğesinin olması mantıklı. Çünkü, tıklattığınızda ne olacağının normal HTML davranışını devre dışı bırakmak istiyoruz. Durumu zaten checked={this.state.hideCompleted} ile React tarafından kontrol edilir ve React'ta iki yönlü bir bağlanma olmadığı için, her zamanki gibi uygulama durumunu karıştırır veya işaretini kaldırmanıza izin verir. Bunun yerine, onClick işleyicisinde this.state.hideCompleted değiştirilmiştir.

Bu şekilde, tıkladığınızda o, this.toggleHideCompleted muhtemelen this.setState({hideCompleted : !this.state.hideCompleted}) yapıyor, yürütülen ve bileşen yeni devletin yeniden oluşturulur.

+0

Yani "readOnly = {false}" için beklenen davranış nedir? Denedim ve hiçbir şey değişmedi ... – evan54

+1

React aslında sizi kurtarır. Bunu yaparsanız konsola bir uyarı yazar ve yine de onay kutusunu "readOnly = {true}" olarak işler. Demo: https://jsfiddle.net/dannyjolie/bqr6u6sL/ Bazı otomatik düzeltme işlevlerine güvenmemek ve düzgün bir şekilde yapmak için hala iyi bir uygulama. – dannyjolie

İlgili konular