React JS:意外使用“事件”无限制全局变量

亚历克斯

我将nameChangedHandler方法作为对更改后的属性的引用,并最终传递给我在此未提及的人员组件,但事件对象中出现错误。

class App extends Component {

  state = {
   persons: [
    {id: 'abc', name: "Max", age: 28},
    {id:'def', name: "Suzi", age: 30},
    {id:'fgh', name: "Alex", age:33}
    ],
  otherState: 'some other value',
  showPersons: false
       }

nameChangeHandler = (event) => {

  this.setState({
    persons: [
    {name: "Max", age: 28},
    {name: event.target.value, age: 30},
    {name: "Alex", age:26}
  ]
}
  );

}

 display_persons = (
  <div>
      return <Person         
             changed={()=>this.nameChangeHandler(event)}  />
    
</div>  
 );
}

return(
<div className="App">
  {display_persons}
</div>

 );

 }
 }


export default App;
支撑

因为您没有定义event它认为event是全局的。onChange提供event作为参数,但是您必须定义它。

尝试<Person changed={(event)=>this.nameChangeHandler(event)} /><Person changed={this.nameChangeHandler} />

回答评论:

嗯,就像一样() => 2 + someParameter这是行不通的,因为someParameter不知道该箭头功能会产生错误。该组件Person具有一个属性onChange该属性可能只期望一个函数,并向其传递一个参数,这是onChange事件。如果您传递无参数箭头函数(如您的问题),event则将在本地没有绑定,因此将寻找全局变量。就像console来自console.log全球。因此,即使这(randomName) => this.nameChangeHandler(randomName)将起作用,因为事件已绑定到参数randomName

我不知道您的经验,因此,如果您对它的理解有困难,也许可以对“范围”,“参数绑定”或“ React onChange”做一些进一步的研究。也许这些会比我写的更清楚:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

意外使用“确认”无限制全局变量

来自分类Dev

全局变量(react.js中组件之间的通信

来自分类Dev

React Native中的全局变量/常量

来自分类Dev

如何从全局变量导入 React?

来自分类Dev

如何将全局变量传递给所有组件 - react js

来自分类Dev

React Native 与 TypeScript:如何在 setup.js 中设置全局变量?

来自分类Dev

React-data-grid-使用全局变量更改单元格值

来自分类常见问题

使用React JS无限滚动

来自分类Dev

Webpack React库到窗口中的全局变量

来自分类Dev

如何在 React Native 中定义全局变量?

来自分类Dev

REACT- 将需要经常更新的数据存储为全局变量而不是使用 setState() - 不推荐?

来自分类Dev

React JS无限轮播

来自分类Dev

使用Guice:无限制的实现

来自分类Dev

React Js:重新渲染过多。React限制了渲染次数以防止无限循环

来自分类Dev

React,Webpack,Stylus-将全局变量导入所有组件

来自分类Dev

如何在React函数中传递并保持全局变量不变?

来自分类Dev

为什么全局变量在React中执行两次

来自分类Dev

如何在全局变量 React Native 中设置数组值

来自分类Dev

React Native - 如何从我的 fetch 方法中创建一个全局变量

来自分类Dev

React-JS:在componentDidMount 中初始化一个全局变量,但在render 中没有得到它的值

来自分类Dev

使用react发出和处理全局事件

来自分类Dev

在React组件之外使用路由信息

来自分类Dev

在渲染之外使用React Router功能

来自分类Dev

全局JS变量将HTML块传递给React组件

来自分类Dev

全局变量使用

来自分类Dev

批处理在循环内重新初始化全局变量,并在循环外使用

来自分类Dev

我如何在create-react-app中为自己的React提供一个全局变量(否则避免在各处导入React)?

来自分类Dev

Python全局变量意外行为

来自分类Dev

ActiveRecord时区,无限制

Related 相关文章

  1. 1

    意外使用“确认”无限制全局变量

  2. 2

    全局变量(react.js中组件之间的通信

  3. 3

    React Native中的全局变量/常量

  4. 4

    如何从全局变量导入 React?

  5. 5

    如何将全局变量传递给所有组件 - react js

  6. 6

    React Native 与 TypeScript:如何在 setup.js 中设置全局变量?

  7. 7

    React-data-grid-使用全局变量更改单元格值

  8. 8

    使用React JS无限滚动

  9. 9

    Webpack React库到窗口中的全局变量

  10. 10

    如何在 React Native 中定义全局变量?

  11. 11

    REACT- 将需要经常更新的数据存储为全局变量而不是使用 setState() - 不推荐?

  12. 12

    React JS无限轮播

  13. 13

    使用Guice:无限制的实现

  14. 14

    React Js:重新渲染过多。React限制了渲染次数以防止无限循环

  15. 15

    React,Webpack,Stylus-将全局变量导入所有组件

  16. 16

    如何在React函数中传递并保持全局变量不变?

  17. 17

    为什么全局变量在React中执行两次

  18. 18

    如何在全局变量 React Native 中设置数组值

  19. 19

    React Native - 如何从我的 fetch 方法中创建一个全局变量

  20. 20

    React-JS:在componentDidMount 中初始化一个全局变量,但在render 中没有得到它的值

  21. 21

    使用react发出和处理全局事件

  22. 22

    在React组件之外使用路由信息

  23. 23

    在渲染之外使用React Router功能

  24. 24

    全局JS变量将HTML块传递给React组件

  25. 25

    全局变量使用

  26. 26

    批处理在循环内重新初始化全局变量,并在循环外使用

  27. 27

    我如何在create-react-app中为自己的React提供一个全局变量(否则避免在各处导入React)?

  28. 28

    Python全局变量意外行为

  29. 29

    ActiveRecord时区,无限制

热门标签

归档