我尝试了这段代码。一切对我来说似乎很好,但是编译器说的onDismiss是未定义的?请帮我解决这个问题。...
import React, { Component } from 'react';
const list=[{title:'React',id:0},{title:'Redux',id:1}];
class App extends Component {
constructor(props) {
super(props);
this.state={list,};
this.onDismiss=this.onDismiss.bind(this); }
onDismiss(id){
const isnotid=item=>item.id!==id;
const uplist=this.state.list.filter(isnotid);
this.setState({list : uplist});
}
render() {
return( <div className="App">
{this.state.list.map(item=>
<div key={item.id}>
<span>
{item.title}
</span>
<button onClick={()=>onDismiss(item.id)} type="button">
Dismiss
</button>
</div>)}</div>);
}
}
export default App;
这是一个显示列表的简单应用。删除按钮用于删除任何不需要的内容。基本上,我只是在练习Reactjs,但是不知道为什么我的Ondismiss(通过更新组件状态来更改内容的功能)函数如编译器所描述的那样是未定义的。 修复了错别字和小错误,但onDismiss函数仍然未定义!
答案 0 :(得分:1)
替换
<button onClick={()=>onDismiss(item.id)} type="button">
与
<button onClick={()=>this.onDismiss(item.id)} type="button">