Javascript 有人能告诉我为什么我不能从待办事项列表中删除一项吗?
我对反应待办事项列表有问题 提交时,列表项显示良好 然后,我应该能够删除这个项目,但什么也没有发生点击。一旦我尝试添加其他项目,页面就会刷新,所有项目都会被删除 控制台日志刚刚显示 [对象]Javascript 有人能告诉我为什么我不能从待办事项列表中删除一项吗?,javascript,reactjs,Javascript,Reactjs,我对反应待办事项列表有问题 提交时,列表项显示良好 然后,我应该能够删除这个项目,但什么也没有发生点击。一旦我尝试添加其他项目,页面就会刷新,所有项目都会被删除 控制台日志刚刚显示 [对象] 应用程序 import React,{Component}来自'React'; 导入“/App.css”; 从“/TodoItem”导入TodoItem; 类应用程序扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 项目:[] }; this.addItems=this.addItems.
应用程序
import React,{Component}来自'React';
导入“/App.css”;
从“/TodoItem”导入TodoItem;
类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
项目:[]
};
this.addItems=this.addItems.bind(this);
this.deleteItem=this.deleteItem.bind(this);
}
增补(e){
如果(此._inputElement!=''){
让newItem={
text:this.\u inputElement.value,
关键字:Date.now()
};
this.setState(prevState=>{
返回{
项目:prevState.items.concat(新项目)
};
});
}
这._inputElement.value='';
e、 预防默认值();
}
删除项(键){
console.log('键是'+键);
log('itesmas'+this.state.items);
var filteredItems=this.state.items.filter(函数(项){
返回item.key!==key;
});
this.setState={
项目:filteredItems
};
}
render(){
返回(
要做的事情
(this.\u inputElement=a)}
占位符=“输入任务”
/>
添加
);
}
}
导出默认应用程序;
今天
import React, { Component } from 'react';
//search bar
class TodoItem extends Component {
constructor(props) {
super(props);
this.createTasks = this.createTasks.bind(this);
}
createTasks(item) {
return (
<li onClick={() => this.delete(item.key)} key={item.key}>
{item.text}
</li>
);
}
delete(key) {
console.log('key is ' + key);
this.props.delete(key);
}
render() {
let todoEntries = this.props.entries;
let listItems = todoEntries.map(this.createTasks);
return <ul className="theList">{listItems}</ul>;
}
}
export default TodoItem;
import React,{Component}来自'React';
//搜索栏
类TodoItem扩展了组件{
建造师(道具){
超级(道具);
this.createTasks=this.createTasks.bind(this);
}
createTasks(项目){
返回(
this.delete(item.key)}key={item.key}>
{item.text}
);
}
删除(键){
console.log('键是'+键);
此.props.delete(键);
}
render(){
让todoEntries=this.props.entries;
让listItems=todoEntries.map(this.createTasks);
return{listItems}
;
}
}
将默认值导出到doitem;
您正在分配给设置状态
,而不是将其作为一种方法使用
改变
this.setState = {
items: filteredItems
};
到
这也是它将重新加载应用程序的原因,因为您已经覆盖了
setState
方法,您应该会得到一个错误,即setState
不是函数,它会使应用程序崩溃。Um。。。我想你可能重复了几次
this.setState = {
items: filteredItems
};
this.setState({
items: filteredItems
});