Ich habe ein Reagieren Komponente Beiträge:Uncaught Typeerror: kann nicht lesen Eigenschaft ‚onDismiss‘ undefinierter
import React, { Component } from 'react';
const list = [
{
title: 'React',
url: 'https://facebook.github.io/react',
author: 'Adam Beat',
num_comments: 4,
points: 3,
objectID: 10,
}, {
title: 'Rails',
url: 'https://www.rubyonrails.org',
author: 'DHH',
num_comments: 8,
points: 4,
objectID: 11,
}
]
class Posts extends Component {
constructor(props) {
super(props); // call the constructor of the extended class
this.state = { // bound state with the this object
list: list,
};
this.onDismiss = this.onDismiss.bind(this);
}
onDismiss(id) {
// const isNotId = item => item.objectID !== id;
// const updatedList = this.state.list.filter(isNotId);
const updatedList = this.state.list.filter(item => item.objectID !== id);
this.setState({ list: updatedList });
}
render() {
return (
<div className="home-page ui container">
{
this.state.list.map(function(item) {
return (
<ul key={item.objectID}>
<li>
<a href={item.url}>{item.title}</a>
</li>
<li>{item.author}</li>
<li>{item.num_comments}</li>
<li>{item.points}</li>
<li>
<button
onClick={() => this.onDismiss(item.objectID)}
type="button">
Dismiss
</button>
</li>
</ul>
);
})
}
</div>
);
}
}
export default Posts;
Und ich versuche, ein Element aus der Liste zu entfernen, indem Sie auf „entlassen“ -Taste.
Aber eigentlich bekomme ich einen Fehler: „Nicht abgefangene Typeerror: kann Eigenschaft lesen‚onDismiss‘undefinierten“
Was bin ich?
Sie benötigen die Eigenschaftsinitialisierungssyntax im Konstruktor nicht, da Sie bereits einen Pfeilfunktionsrückruf verwenden, der die Bindung ausführt. –