2016-09-06 33 views

cevap

3

Bir üçüncü taraf kitaplığı kullanarak sakıncası yoksa, ayrıca lodash en omit işlevini kullanabilirsiniz:

{ ..._.omit(this.props, ['className', 'id']) } 

Anahtar avantaj: madox2 önerisi aksine, keyfi değişken adlarıyla kapsamını kirletmez sadece bazı parçaları çocuk bileşenlerine aktarmamak için. Ve ayrıca, bu cevabı yazarken, deneysel ES.next özellikleriyle de ilgilenmiyorsunuz.

16

Bu işi yapmak için strüktür istihdam edebilirsiniz: Bu sözdizimi (örneğin Babel kullanarak) bu özelliği etkinleştirmek için kodu transpile gerekecektir ECMAScript teklif (istirahat/Oranlı Özellikler) şu anda

const { className, id, ...newProps } = this.props; // eslint-disable-line 
// `newProps` variable does not contain `className` and `id` properties 

beri.

+1

Bu harika, ama eslint'e sahip olmamanın kolay bir yolu var mı ve bu desen kullanılarak kullanılmayan değişken bir bildirimle ilgili şikayetler (bu kuralı devre dışı bırakmanın dışında)? – m90

+0

@madox bu iyi bir şeydir, ama bir çeşit sahne işlemlerini elimden geçirmemizi gerektiriyor, nerede hepsini geride bırakma avantajından yararlanmak istediğimi ve yalnızca bunlara gereksinim duymadığımları hariç tutmam gerekmiyor – Ilja

+0

@ m90 ekledim – madox2

İlgili konular