React事件处理代码出现 'event' is deprecated 报错应如何替换?
问题根因
你代码中使用的event实际是全局window.event,该API已被Web标准废弃,因此控制台会抛出弃用提示。
修复方法
你只需要在事件处理函数的形参位置声明接收React传入的合成事件对象即可,修改后的代码如下:
onSelectedShowdateChangeHandler(event) { this.setState( { selectedShowdate: event.target.value }, this.getShowtimeList ); }
React在触发DOM事件回调时,会自动把合成事件对象作为第一个参数传入处理函数,不需要你在JSX绑定事件时额外传参,正常写onChange={this.onSelectedShowdateChangeHandler}即可生效。
补充优化:如果后续出现
this指向 undefined 的问题,你可以把处理函数改为类属性箭头函数的写法,省去手动绑定this的步骤:onSelectedShowdateChangeHandler = (event) => { this.setState( { selectedShowdate: event.target.value }, this.getShowtimeList ); }
内容的提问来源于stack exchange,提问作者Jerome
相关产品推荐
相关产品推荐

