React onChange事件不会触发

张敏

问题是onChange事件不会在输入代码中触发。我之前使用LinkedStateMixin来跟踪输入值。最近,我想添加onChange事件来运行某些功能,然后删除了LinkedStateMixin,但是onChange无法启动。我试图将e.stopPropagation()添加到setUsername(),但它也无法正常工作。我尝试了其他事件,例如onKeyDown,onClick和ect。他们都不可以被解雇。问题是什么?

var React = require('react');

var SessionActions = require('../../actions/session_actions');
var UserStore = require('../../stores/user_store');

var LogInForm = React.createClass({

  getInitialState: function() {
    return ({
      user: undefined,
      username: '',
      password: '',
    });
  },

  componentDidMount: function() {
    this.token = UserStore.addListener(this.updateUserStore);
  },

  componentWillUnmount: function() {
    this.token.remove();
  },

  updateUserStore: function() {
    this.setState({user: UserStore.all()});
    this.setState({username: ''});
    this.setState({password: ''});
  },

  setUsername: function(e) {
    console.log("Fired");
  },

  handleSubmit: function(e) {
    e.preventDefault();
    SessionActions.logIn({
      username: this.state.username,
      password: this.state.password
    });
    this.updateUserStore();
  },

  render: function() {
    return (
      <div>
        <h4>Log In</h4>
        <div> </div>
        <form onSubmit={this.handleSubmit}>
          <input onChange={this.setUsername} placeholder="Username" type="text"/>

          <input placeholder="Password" type="password"/>

          <input type="submit" value="Log In"/>
        </form>
      </div>

    );
  }
});

module.exports = LogInForm;
张敏

将函数名称从setUsername更改为handleUsername。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

隐藏的输入不会触发React的onChange事件

react-input-range 不会触发 react-leaflet Map 内的事件(onChange、onClick)

React Native事件不会触发

在Mozilla和IE React js / Redux中不会触发onChange事件

React Material-UI复选框的onChange事件不会触发

React 多次触发 onchange 事件,即 11

React、onChange 和 onClick 事件同时触发

React onClick 事件不会触发 setState

react-select 不会“触发”`onChange` 处理程序

在React JS中触发onchange事件的最佳方法是什么

在React中重新渲染选择元素后触发onChange事件

单击包含跨度的 div,不会触发 onclick 事件 - React

React 应用程序不会按预期触发 onScroll 事件

React componentDidUpdate() 不会触发

React事件触发多次

为什么更改状态值不会触发REACT中输入元素的onChange

以编程方式插入值时,React 字段 onChange 不会触发(钩子,而不是类)

React onChange 函数不会触发,不允许我更改输入值

React onChange 事件在第一次输入时触发空字符串

如何使用react-testing-library在自定义组件上触发onChange事件?

当React中的值被代码更改时,如何在输入上触发onChange事件?

React Boostrap Select, First Select Option ins 未由 onChange 事件触发

React storage 事件不会在写入存储的选项卡上触发

React.js:以编程方式提交表单不会触发onSubmit事件

用于编辑和删除的 React Material Table 操作 OnClick 事件不会触发操作

Onerror和onload事件不会在React中的脚本元素中触发

在React中手动触发表单的Submit事件不会检查所需的输入

React checkbutton onChange事件返回综合事件

React-testing-library with Ionic v5 (react) 和 react-hook-form-change 事件不会触发