栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

TypeError:evt.target在函数setState中为null

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TypeError:evt.target在函数setState中为null

这是setState的两种不同语法

第一:

handleonChange(evt) {    this.setState(() => ({        tickerName: evt.target.value    }));}

使用updater函数作为第一个参数。

第二:

handleonChange(evt) {   this.setState({ tickerName: evt.target.value });}

使用要更新的对象

在更新程序功能中使用综合事件时,需要使用

event.persist()

文档中

SyntheticEvent被合并。这意味着在调用事件回调之后,将重新使用SyntheticEvent对象,并且所有属性都将无效。这是出于性能原因。因此,您不能以异步方式访问事件。

如果要以异步方式访问事件属性,则应在事件上调用event.persist(),这将从池中删除综合事件,并允许用户代码保留对该事件的引用。

你的拳头盒看起来像

handleonChange(evt) {    evt.persist();    this.setState(() => ({        tickerName: evt.target.value    }));}

或者,

event.persist()
您可以将事件存储在另一个对象中,而不是使用

handleonChange(evt) {    const value = evt.target.value;    this.setState(() => ({        tickerName: evt.target.value    }));}

PS: 仅当您希望基于

prevState
或更新当前状态时,才应为setState使用updater函数。
props

CodeSandbox



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636407.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号