Langsung saja kita mulai:
Misal kita mempunyai object yang memiliki lebih dari 10 atribut seperti ini:
var state = { name:"Andy wiranta wijaya", address:"Jl. xxx", phoneNumber:"+627272727227", sex:"pria", ....Nah, saya hanya butuh 2 atribut name dan address yang akan saya tampung di suatu variabel.
//Cara konvensional var name = state.name; var address = state.address; //Object destructuring const { name, address } = state;Simple, clean, pretty dan readable. Coba kalian bayangkan jika kalian passing lebih dari 10 atribut. Contoh ke dua:
var state = { name : "budi", address:"Jl kebon timur no 7-8", sex : "pria", hobby:"main bola" } printMyNameAndAddress(state) function printMyNameAndAddress({name, address}){ console.log(`my name is ${name} and address ${address}`); }Hasilnya:
Mari kita implementasikan di react component, sebelum (destructuring):
render() { return ( <ProductPrice hidePriceFulfillmentDisplay= {this.props.hidePriceFulfillmentDisplay} primaryOffer={this.props.primaryOffer} productType={this.props.productType} productPageUrl={this.props.productPageUrl} inventory={this.props.inventory} submapType={this.props.submapType} ppu={this.props.ppu} isLoggedIn={this.props.isLoggedIn} gridView={this.props.isGridView} /> ); }Bisa dilihat sendiri banyak penggunaan this.props :o, mari kita perbaikin dengan seperti ini:
render() { const { hidePriceFulfillmentDisplay, primaryOffer, productType, productPageUrl, inventory, submapType, ppu, isLoggedIn, gridView } = this.props; return ( <ProductPrice hidePriceFulfillmentDisplay={hidePriceFulfillmentDisplay} primaryOffer={primaryOffer} productType={productType} productPageUrl={productPageUrl} inventory={inventory} submapType={submapType} ppu={ppu} isLoggedIn={isLoggedIn} gridView={isGridView} /> ); }
Kesimpulan:
Remember, beautiful code does a lot without saying much.Sumber:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring
Inspirasi quote:
https://medium.com/walmartlabs/make-your-react-components-pretty-a1ae4ec0f56e#.qlgf8l272
already implemented it :)
ReplyDeletecheck my github/post :D http://blog.nostratech.com/2016/12/membuat-generic-dropdown-dengan-reactjs.html
cool :)
DeleteThis comment has been removed by the author.
ReplyDelete