Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript useState方法没有';不允许访问外部变量?_Javascript_Reactjs - Fatal编程技术网

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
    }))
}