React map生成元素添加点击事件绑定this
问题使用 provinceChange: function(selectedProvince){ this.setState({ province : selectedProvince }); }, 解决原调用 render: function() { let waveProvinceArr = this.state.waveProvinceList; return ( <div> <div> { waveProvinceArr.map(function(waveProvinceItem){ return <button type="button" onClick={this.provinceChange.bind(this,waveProvinceItem)}>{waveProvinceItem}</button> }) } </div> </div> ); } 通过分析为 { waveProvinceArr.map(function(waveProvinceItem){ return <button type="button" onClick={this.provinceChange.bind(this,waveProvinceItem)}>{waveProvinceItem}</button> }.bind(this)) } 2、将 { waveProvinceArr.map(function(waveProvinceItem){ return <button type="button" onClick={this.provinceChange.bind(this,waveProvinceItem)}>{waveProvinceItem}</button> },this) } 3、在 render: function() { let waveProvinceArr = this.state.waveProvinceList; let self = this; return ( <div> <div> { waveProvinceArr.map(function(waveProvinceItem){ return <button type="button" onClick={self.provinceChange.bind(self,waveProvinceItem)}>{waveProvinceItem}</button> }) } </div> </div> ); } 4、将 参考文章JavaScript中的this陷阱的最全收集--没有之一 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |