javascript - ReactJS onChange 事件处理程序

标签 javascript events reactjs onchange handle

我对 React 的事件处理程序有些困惑

我有一个这样的组件,使用 handleChange 处理 onChange 事件:

var SearchBar = React.createClass({
    getInitialState(){
        return {word:''};
    },
    handleChange: function(event){
        this.setState({word:event.target.value});
        alert(this.state.word);
    },
    render: function () {
        return (
            <div style={{width:'100%',position:'0',backgroundColor:'darkOrange'}}>
                <div className="header">
                    <h1>MOVIE</h1>
                </div>
                <div className="searchForm">
                    <input className="searchField" onChange={this.handleChange}
                        value={this.state.word} type="text" placeholder="Enter search term"/>
                </div>
            </div>
        );
    }
});

它确实有效,但不是我期望的方式。在文本字段中,当我输入第一个字符时,它会提示空字符串,当输入第二个字符时,它会提示只有第一个字符的字符串,依此类推,字符串长度为 n,它会提示长度为 n-1 的字符串

我这里做错了什么?我该如何解决?

最佳答案

这样使用,

Js:

   this.setState({word:event.target.value}, function() {
    alert(this.state.word)
   });

工作 Jsbin

关于javascript - ReactJS onChange 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32987355/

相关文章:

java - Java 中的事件发射器

javascript - 计算 ReactJS 中父评论的线程数

javascript - 提升具有相同变量名的函数内部

javascript - jQuery 选择按钮旁边的隐藏输入值

javascript - 在 Google Apps 脚本中使用 Javascript

c++ - 如何将 QEvents 传递给子部件?

javascript - 如何测试Nodejs请求回调监听器?

delphi - 如何在 Delphi 中使用参数注册从 Firebird 发布的事件

javascript - React中array.map和onchange的使用

javascript - 什么是同构应用程序?