构造函数和其他方法的函数通信问题?

用户9458800

我正在尝试使用render&return方法创建一个自定义函数,它仅打印“ Hello World”或任何哑组件类型之类的详细信息。但是,当我尝试使它像使用其他方法更新props值那样复杂时,它会显示错误。

我的代码是:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

class App extends Component {
  constructor(props){
    super(props);

    this.state = {
      firstName: ''
    };
  }
  inputData = (event) => {
    this.setState({
      [event.target.name]:event.target.value
    });
  }
  submitData = (event) => {
    event.preventDefault();
    console.log(this.state.firstName);
  }
  inputData()
  {
    return(
      <div>
        <form onSubmit={this.submitData}>
          FirstName:
          <input type="text" name="firstName" onChange={this.inputData} />
          <button>Submit</button>
        </form>
      </div>
    );
  }
  render() {
    return (
      <div>
        {this.inputData()}
      </div>
    );
  }
}

export default App;

在我的inputdata函数中,当我尝试使它成为哑组件或类似内容时,它没有显示错误,但是当其他一些函数(如inputData和SubmitData)调用时,则显示错误。

请解决!

下面是错误

TypeError: Cannot read property 'target' of undefined
App._this.inputData
src/App.js:14
  11 |   };
  12 | }
  13 | inputData = (event) => {
> 14 |   this.setState({
  15 |     [event.target.name]:event.target.value
  16 |   });
  17 | }
View compiled
App.render
src/App.js:37
  34 | render() {
  35 |   return (
  36 |     <div>
> 37 |       {this.inputData()}
  38 |     </div>
  39 |   );
  40 | }
View compiled
▶ 20 stack frames were collapsed.
./src/index.js
src/index.js:7
   4 | import App from './App';
   5 | import registerServiceWorker from './registerServiceWorker';
   6 | 
>  7 | ReactDOM.render(<App />, document.getElementById('root'));
   8 | registerServiceWorker();
   9 | 
  10 | 
约翰尼·扎巴拉

您有两个具有相同名称的函数:inputData。在render方法中调用this.inputData()时,第一个被调用,因此事件为null。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在其他方法/函数中的构造函数中调用对象

用其他方法调用函数

为什么其他方法可以是“静态的”,而构造函数却不能?

如何在PHP中向其他方法提供构造函数参数?

需要通过构造函数或其他方式从Razor过滤器方法访问HttpContext

在构造函数中使用“ this”以及Java中的其他方法-何时可以跳过它?

在构造函数中设置的变量在其他方法中未定义

继承的构造函数和其他变量的解决方法

需要在函数顶部调用其他方法

如何使用保留在类的构造函数中的Modal Object并从其他方法调用它?

如何在类的其他方法中使用在构造函数中初始化的对象

Angular-以除构造函数外的其他方式注入?

Python-还有其他方法可以在列表推导中应用函数和过滤器吗?

使用$ inject语法和其他构造函数参数

在 EF 中定义 DBContext 时调用基类的构造函数背后的原因是什么?有没有其他方法可以做到?

接收 ActionListener 作为构造函数参数并将其存储以便类中的其他方法可以将该动作侦听器添加到按钮?

如何获得其他要修改的方法的构造函数值?

使用参数的构造函数在其他类的构造函数

Xamarin Forms Prism:是否需要在构造函数中传递 INavigationService?除了构造函数注入之外的任何其他方式

使用几乎完全重复的代码重构函数,但对其他方法的调用不同

将预编译的Azure函数与其他方法一起使用时出错

还有其他方法可以将数组的每个元素传递给函数吗?

还有其他方法可以实现此代码,以便也使用zip函数吗?

.includes(或我应用的任何其他方法)不是函数

除了toString()之外,还有什么其他方法可以查看函数的主体

在函数或任何其他方法(Javascript)中创建输入

Python使用递归函数或其他方法简化嵌套for循环

PHPUnit和Abstract类:如何测试接受参数和其他具体方法的具体构造函数

使用arrayfun或其他方式创建动态Matlab函数