2016-04-09 34 views
3

Bir reşit bileşeninde tabIndex özniteliğini koşullu olarak aynı şekilde nasıl ayarlayabilirim, 'disabled' özniteliği ayarlandı mı?JSX + React içinde dinamik tabIndex özniteliği

Değeri ayarlayabilmem ve/veya özniteliği birlikte kaldırabilmem gerekir.

İlk deneyin tüm nitelik anahtarını yapmak ve bir değişken değer oldu:

<div { tabIndex } ></div> 

ama derleyici yakınır. Benim asıl bileşenleri üzerlerinde özelliklerin ton var ve yinelenen kod büyük miktarda sahip bitirmek istiyorum çünkü

const div; 
if(condition){ 
    div = <div tabIndex="1"></div> 
}else{ 
    div = <div></div> 
} 

Ancak bu arzu değildir:

İkinci düşünce idi.

Diğer düşüncem de bir ref kullanmaktı, sonra da tabindex özniteliklerini ayarlamak için jQuery'yi kullanmaktı, ancak bunu bu şekilde yapmak zorunda kalmamayı tercih ettim.

Herhangi bir Fikir?

cevap

10

Sen attribute spread operator kullanarak bunu yapabilirsiniz:

let props = condition ? {tabIndex: 1} : {}; 
let div = <div {...props} /> 
+0

Mükemmel. Teşekkür ederim! –

+0

Bu, onay kutularını işaretlemek için de harika! –