Reactjs 为什么没有';t将输入数据保存到内部状态变量<;崩溃>;加入反应

Reactjs 为什么没有';t将输入数据保存到内部状态变量<;崩溃>;加入反应,reactjs,collapse,Reactjs,Collapse,我正在编写一个代码,通过使用react material UI实现垂直折叠。但它不会将输入和文本字段值设置到状态变量中。请帮我找出我做错了什么。提前谢谢 下面是用于处理输入更改的函数 handleOnChange = async (event) => { const field = event.target.name; if (field === "Announcement") { if (this.isMount) {

我正在编写一个代码,通过使用react material UI实现垂直折叠。但它不会将输入和文本字段值设置到状态变量中。请帮我找出我做错了什么。提前谢谢

下面是用于处理输入更改的函数

handleOnChange = async (event) => {
    const field = event.target.name;

    if (field === "Announcement") {
        if (this.isMount) {
            await this.setState({
                announcement: event.target.value,
                isFormDirty: true,
            });
        }
    }
    if (field === "Title") {
        if (this.isMount) {
            await this.setState({
                title: event.target.value,
                isFormDirty: true,
            });
        }
    }
};
我的
render()函数的一部分

<form>
        <div>
            <ListItem button onClick={this.handleClickAnnouncement}>
                <ListItemAvatar>
                    <Avatar>
                         <NotificationImportant/>
                    </Avatar>
               </ListItemAvatar>
               <ListItemText primary="Announcements"/>
               {this.state.ListAnnouncementOpen === true ? <ExpandMore/> : <ExpandLess/>}
            </ListItem>

          <Collapse in={this.state.ListAnnouncementOpen} timeout="auto" unmountOnExit>
            <div className="row" className = "ml-3" >
                <label htmlFor="" className="mandatory">
                    Title :
                </label>
                <Input
                    placeholder="Title"
                    value={this.state.title}
                    name="Title"
                    onChange={this.handleOnChange}
                    required={true}
                />
            </div>

            <div className="row ml-3">
                <TextField
                    id="standard-multiline-flexible"
                    label="Type new Announcement here"
                    onChange={this.handleOnChange}
                    className="course-detail-section"
                    name="Announcement"
                    required={true}
                    value={this.state.announcement}
                />

                <Avatar onClick={this.addAnnouncement}>
                    <AddIcon/>
                </Avatar>
            </div>
        </Collapse>
    </div>
</form>

{this.state.ListAnnouncementOpen==true?:}
标题:

您在哪里设置此.isMount
以及为什么在您的handleChange上有条件设置?Fwiw,您不需要将处理更改设置为异步,非常感谢。这正是我做错的。我删除了该条件并进行了异步。现在它工作得很好。再次感谢。您很好。您在哪里设置
这个.isMount
以及为什么您的手上有条件更改?Fwiw,您不需要将处理更改设置为异步,非常感谢。这正是我做错的。我删除了该条件并进行了异步。现在它工作得很好。再次感谢,不客气