无法在React中inputInputType的“文字”

我正在使用NodeJS。

这是我在coursePage.js中的组件。 问题是,当我运行它时,我无法input我的InputType,虽然我看不到我的代码中有任何错误(控制台也没有显示任何东西)。

import React , {PropTypes} from 'react'; import {connect} from 'react-redux'; import * as courseActions from '../../actions/courseActions'; class coursesPage extends React.Component{ constructor(props, context) { super(props, context); this.state = { course: {title: ""} }; this.onTitleChange= this.onTitleChange.bind(this); this.onClickSave= this.onClickSave.bind(this); } onTitleChange(event){ const course = this.state.course; course.title = event.target.value; this.setState=({course: course}); } onClickSave(){ this.props.dispatch(courseActions.createCourse(this.state.course)); } courseRow(course,index){ return <div key = {index}>{course.title}</div>; } render(){ return( <div> <h1>Courses</h1> {this.props.courses.map(this.courseRow)} <h2>Add Course</h2> <input type="text" onChange={this.onTitleChange} value={this.state.course.title}/> <input type="submit" value="Save" onClick={this.onClickSave}/> </div> ); } } coursesPage.propTypes = { dispatch: PropTypes.func.isRequired, courses: PropTypes.array.isRequired }; function mapStateToProps(state, ownProps){ return{ courses : state.courses }; } export default connect(mapStateToProps)(coursesPage); 

这个setState就像一个函数,所以你使用'='也许是错误的。

问题是,你正在以错误的方式更新state值,试试这个:

 const course = this.state.course; course.title = event.target.value; this.setState({course}); 

要更新state值,我们需要在setState传递一个object ,而不是分配object