javascript - 尝试为变量分配新值时无法读取“状态”
问题描述
所以我基本上想在按下“创建”按钮时创建 <\CreatedTask/> 。我设置了函数 onClick 并在 render() 中创建了一个“null”变量,一旦按下“Create”按钮,我希望它为 <\CreatedTask props props props/> 的变量分配一个新值。我的代码:
import React, { Component } from 'react';
import './CreateTask.css'
import CreatedTask from '../CreatedTask/CreatedTask';
import Aux from '../../hoc/Aux';
class CreateTask extends Component {
constructor(props){
super(props);
this.state = {
member : '',
toDo : '',
dod : '',
time : ''
};
this.changeHandler = this.changeHandler.bind(this);
}
changeHandler = (event) => {
this.setState(
{[event.target.name] : event.target.value}
)
}
clearFields = () => {
this.setState({
member : '',
toDo : '',
dod : '',
time : ''
})
}
render() {
let tasksubmit = null;
function submitTask(){
return(
tasksubmit = <CreatedTask
member = {this.state.member}
todo = {this.state.toDo}
dod = {this.state.dod}
time = {this.state.time}
/>);
}
console.log(tasksubmit);
return(
<div>
<div className="CreateTask">
<p>Group member:
<select id="groupMember"
onChange={this.changeHandler}
name="member"
>
<option value='' disabled selected>Select group member</option>
<option value="Berin">Berin</option>
<option value="Raddy">Raddy</option>
<option value="Ventsi">Ventsi</option>
<option value="Cristian">Cristian</option>
</select>
</p>
<p>To do:<input
type="text"
id="toDo"
name="toDo"
value={this.state.toDo}
onChange={this.changeHandler}>
</input>
</p>
<p>Definiton of done:
<textarea
id="dod"
name="dod"
value={this.state.dod}
onChange={this.changeHandler}>
</textarea>
</p>
<p>Average time required(hours):
<input
value = {this.state.time}
onChange = {this.changeHandler}
type="number"
min="0"
id="time"
name="time">
</input>
</p>
<div>
<button type="submit" onClick = {this.clearFields}>Cancel</button>
<button type="submit" onClick = {submitTask}>Create</button>
</div>
</div>
{tasksubmit}
</div>
);
}
}
export default CreateTask;
我不知道可能是什么问题。我是 React 初学者,也是 StackOverflow 社区的新手。
解决方案
推荐阅读
- python - Tkinter 绑定事件传递给函数而不是变量
- java - Android - 在编译时查找重复的字符串
- algorithm - 不同输入大小的时间复杂度
- ruby-on-rails - 嵌套条件不返回任何结果
- javascript - 在Typescript中子类化Fabric JS类型反序列化时导致错误
- javascript - 未捕获的 ReferenceError:弹出窗口在 javascript 中不起作用
- mysql - MySQL max group by 返回错误值
- typescript - 'typeof 类型的参数
' 不可分配给 'new () => 类型的参数 ' - php - Laravel 5 Eloquent where with multiple or in 子句
- python - 使用python模拟客户端