无法在Todo应用程序中输入React输入文本字段

时间:2019-11-26 20:28:59

标签: reactjs forms

我正在React.js中创建一个待办事项应用程序,但停留在这一部分。我无法在输入字段中输入。请帮助我。

import React, { Component } from 'react';

导出默认类AddItem扩展了组件{     状态=         {             标题:“”,             完成:错误         }

changeTitle = (e) =>{
    e.preventDefault();
    this.setState = ({
        title: e.target.value
    });
}

addNewItem = (item) => {
    item.preventDefault();
    let newTask = {
        title: this.state.title,
        done: false
    };
    this.props.additem(newTask);
    this.setState = ({
        title: ""
    });
} 

render() {
    return (
        <div>
            <form>
                <input 
                    type="text"
                    placeholder="add task name." 
                    value={this.state.title} 
                    onChange= {this.changeTitle}
                />
                <button type = "button" onClick= {this.addNewItem} >submit</button>
            </form>
        </div>
    )
}

}

1 个答案:

答案 0 :(得分:1)

this.setState是使用包含状态变化的对象调用的函数。您在此处使用的代码是不是函数调用:

 this.setState = ({
        title: e.target.value // Wrong
    });

相反,在状态更改/更新的情况下调用setState函数。所做的更改已合并在一起,此处仅更新了标题。

this.setState({title:e.target.value});

addNewItem内部,您也会遇到类似的问题。