“TypeError:无法读取未定义的属性‘onPlayerScoreChange’”
'onPlayerScoreChange'
Grandparent
this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this)
父组件:
class App extends React.Component {constructor(props) { super(props); this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this) this.state = { initialPlayers: props.initialPlayers, };}onPlayerScoreChange(delta, index) { this.setState((prevState, props) => { return {initialPlayers: this.prevState.initialPlayers[index].score += delta} })}render() { return( <div className = "scoreboard"> <Header title = {this.props.title}/> <div className = "players"> {this.state.initialPlayers.map(function(player, index) { return( <Player name = {player.name} score = {player.score} key = {player.id} index = {index} onScoreChange = {this.onPlayerScoreChange} /> ) })} </div> </div> )}}
儿童部分:
class Player extends React.Component {render() { return( <div className = "player"> <div className = "player-name"> {this.props.name} </div> <div className = "player-score"> <Counter score = {this.props.score} onChange = {this.props.onScoreChange} index = {this.props.index}/> </div> </div>)}}