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