Javascript React-onClick事件不起作用

Javascript React-onClick事件不起作用,javascript,reactjs,Javascript,Reactjs,我刚刚开始学习React.js,目前正在开发简单的“待办”应用程序。我在提交按钮上遇到onClick事件问题,它似乎不起作用。我想我在将道具传递给父元素时遇到了问题 这是我的密码: var Application=React.createClass({ getInitialState:函数(){ 返回{ 标题:“你的任务清单”, 副标题:“你必须做什么?”, 任务:[], } }, addTask:函数(事件){ event.preventDefault(); 警惕(“它起作用了!”); },

我刚刚开始学习React.js,目前正在开发简单的“待办”应用程序。我在提交按钮上遇到onClick事件问题,它似乎不起作用。我想我在将道具传递给父元素时遇到了问题

这是我的密码:

var Application=React.createClass({
getInitialState:函数(){
返回{
标题:“你的任务清单”,
副标题:“你必须做什么?”,
任务:[],
}
},
addTask:函数(事件){
event.preventDefault();
警惕(“它起作用了!”);
},
removeTask:function(){
var taskList=this.state.tasks;
var currentTask=taskList.find(函数(任务){
返回task.key==event.target.key;
});
currentTask.remove();
event.preventDefault();
警惕(“它起作用了!”);
},
render:function(){
返回(
);
}
});
功能标题(道具){
返回(
{props.title}
);
}
函数NewTaskForm(props){
返回(
{props.subTitle}
添加任务!
);
}
NewTaskForm.propTypes={
onChange:React.PropTypes.func.isRequired,
};
函数TaskContainer(props){
返回(
{props.tasks.map(函数(任务)){
返回(

{task.text}

); })} ); } render(,document.getElementById(“容器”)

反应做应用程序!

您没有调用该函数:

<button type="submit" onClick={function() {props.onChange();}}>Add task!</button>
添加任务!
你也可以这样写:

<button type="submit" onClick={props.onChange}>Add task!</button>
添加任务!

谢谢您的帮助!:)我还有一个问题,我想也许你能帮助我。您是否知道如何将事件作为onClick函数参数传递给addTask方法?我想阻止使用
事件提交。preventDefault()
。我试着像这样传递它:
onClick={props.onChange(event)}
但是我只在控制台中得到了错误:
onClick={event=>props.onChange(event)}
它应该适用于我的第二个示例,它相当于@goldylucks所建议的
createClass
语法被弃用。切换到
类应用程序扩展React.component
。另外,我怀疑您在调用
currentTask.remove()
时正在改变状态?这种方法到底有什么作用?我想你的意思是
this.setState({tasks:this.state.tasks.filter(task=>task.key!==event.task.key)})
@goldylucks我一直在使用
createClass
,因为我对React很陌生,但我肯定会进入
类App extensed React.component
currentTask.remove()
只是我准备好的一份草稿,我希望以后能用它。我希望此方法可以从列表中删除任务,因此对于初学者,我希望使用
.find()
,但您指出的方法似乎更好:)