React.jsアプリケーションのsplice()メソッドに問題があります。Splice()メソッドが動作しません
したがって、this is an example appです。削除は今動作しません。ここで何が間違っていますか?コードの一部:
class CardList extends React.Component {
static propTypes = {
students: React.PropTypes.array.isRequired
};
// ADD DELETE FUNCTION
deletePerson(person) {
this.props.students.splice(this.props.students.indexOf(person), 1)
this.setState()
}
render() {
let that = this
return <div id='list'>
{this.props.students.map((person) => {
return <Card
onClick={that.deletePerson.bind(null, person)}
name={person.name}>
</Card>
})}
</div>
}
}
class Card extends React.Component {
render() {
return <div className='card'>
<p>{this.props.name}</p>
{/* ADD DELETE BUTTON */}
<button onClick={this.props.onClick}>Delete</button>
</div>
}
}
http://codepen.io/azat-io/pen/Vaxyjv
あなたは決して小道具を改造するべきではありません。 https://facebook.github.io/react/docs/component-api.html( 'setState'を使用)の代わりに状態を使用してください。 – nils