javascript - React onChange 事件不会触发

标签 javascript reactjs-flux

问题是 onChange 事件不会在输入标记中触发。我之前使用 LinkedStateMixin 来跟踪输入值。最近,我想添加 onChange 事件来运行一些函数,然后我删除了 LinkedStateMixin,但 onChange 无法触发。我尝试将 e.stopPropagation() 添加到 setUsername(),但它也不起作用。我尝试了其他事件,例如 onKeyDown、onClick 等。他们中没有人可以被解雇。有什么问题吗?

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;

最佳答案

我创建了this jsfiddle使用您发布的代码,尽管有明显的警告,但 onchange 事件仍被触发。所以我猜你的代码还有其他问题。

组件是否渲染?你能提供一个无法使用的 fiddle ,以便我看一下吗?

关于javascript - React onChange 事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38667793/

相关文章:

javascript - 如何向使用 Raphael.js 创建的圆环图添加标记?

javascript - 无法使用代码隐藏将脚本插入asp页面

javascript - 自定义 react 下拉组件在每个用户输入上重新呈现

javascript - 使用 jQuery .ajax,但弹出窗口仍然要求输入登录名/密码

javascript - 这段 JavaScript 代码在做什么?

php - 将点放置在从中心开始的圆的某些扇区中

javascript - 使用哪个事件来发出输入的更改?

reactjs - 何时将 Flux(等)与 React 一起使用?

javascript - Reflux 存储不听 Action

javascript - React-Flux : Error with AppDispatcher. 寄存器