Javascript useState方法没有';不允许访问外部变量?
想知道为什么以下方法不起作用:Javascript useState方法没有';不允许访问外部变量?,javascript,reactjs,Javascript,Reactjs,想知道为什么以下方法不起作用: const onChange = e => { console.log(e.target.value) setEmails(prevEmails => ({ ...prevEmails, reports: e.target.value })) } 事件“e”变量console.logs,但在setemail中使用时,它表示找不到null值? 确切错误: Cannot read property
const onChange = e => {
console.log(e.target.value)
setEmails(prevEmails => ({
...prevEmails,
reports: e.target.value
}))
}
事件“e”变量console.logs,但在setemail中使用时,它表示找不到null值?
确切错误:
Cannot read property 'value' of null
这里缺少什么?您应该将值保存到另一个变量,或者使用
e.persist()
:
这是因为在React中,出于性能原因而使用。从文档的部分:
事件
已合并。这意味着调用事件回调后,SyntheticEvent
对象将被重用,所有属性都将为空。这是出于性能原因。因此,您不能以异步方式访问事件
定义在哪里?我认为没有必要将其作为变量函数添加。@MayraNavarro React将在重新渲染之间保留此状态。useState返回一对:当前状态值和允许您更新它的函数。您可以在这里了解更多:我的意思是:setEmails({…preveEmails,reports:e.target.value}),不需要匿名函数。这将导致“未定义”错误@梅拉纳瓦罗
const onChange = e => {
console.log(e.target.value);
let myValue = e.target.value;
setEmails(prevEmails => ({
...prevEmails,
reports: myValue
}))
}