javascript - React 中的输入字段没有变化(受控输入)

标签 javascript reactjs

如果没有 this.updateEmail.bind(this) 上的 bind.(this),输入字段值会发生变化,但我收到错误消息,说无法设置 undefind 的 this.setState。所以我添加了 .bind(this) 但它根本不起作用..有点困惑

import React, { Component } from 'react';
import Request from 'superagent';

class App extends Component {
  constructor(){
    super()
      this.state = {
        email: 'asdf',
        password: ''      
    }
  }
  updateEmail(e){
    this.setState={
      email: e.target.value
    }
  }
  createUser(e){
    var query = 'star';
    e.preventDefault()
    console.log(this.state.email)
    var url = `http://www.omdbapi.com?s=${query}&y=&r=json&plot=short`;
    Request.get(url).then((response) => {
      console.log(response)
      this.setState({
        movies: response.body.Search,
        total: response.body.totalResults
      });
    });
  }
  render() {
    return (
      <div className="App">
        <div className="App-header">
          <form onSubmit={this.createUser.bind(this)}>
            <input type="text"
             name="email"
             onChange={this.updateEmail.bind(this)} 
             value={this.state.email}
             placeholder="email"/>
             <br/>
            <input type="text"
             name="password" 
             value={this.state.password}
             onChange={this.updatePassword}
             placeholder="password"/>
             <br/>
            <input type="submit" value="submit"/>
          </form>
        </div>
      </div>
    );
  }
}

export default App;

最佳答案

setState 是一个函数,您应该这样调用它:

this.setState({ foo: 'bar' });

关于javascript - React 中的输入字段没有变化(受控输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41477067/

相关文章:

javascript - Breeze.js - 在保存实体之前更改服务器上实体的属性值

javascript - 如何替换不在特定 div 中的字符串?

javascript - 将星号附加到包含类为 .mandatory 的标签的 div 的兄弟项

javascript - 名称为保留关键字的解构属性

javascript - 在 libsodium 中使用哪种 key 对类型?各自有什么不同的能力?

使用 activerecord 模型验证器的 Javascript 验证

css - 使最后一个网格单元格处于非事件状态

javascript - 编译失败: Module not found: Can't resolve '../../common/form' in 'src' components time'

javascript - ReactJs onClick 添加类名

javascript - onClick in anchor tag 触发而不点击 react