我很難理解爲什麼我的props.updateBuilding不工作。反應道具沒有定義
下工作時的道具渲染方法
class Buildings extends Component {
constructor(props) {
super(props);
}
componentWillMount() {
this.props.fetchBuildings();
}
renderBuildings(building) {
return (
<div>
<p> {building.name}</p>
</div>
);
}
render() {
return (
<div>
{this.props.buildings.map(this.renderBuildings)}
<button type="button" className="btn btn-success" onClick={this.props.updateBuilding.bind(this, 1)}>Edit</button>
</div>
);
}
}
function mapStateToProps(state) {
return { buildings: state.buildings.all };
}
function mapDispatchToProps(dispatch){
return bindActionCreators({ fetchBuildings, updateBuilding}, dispatch);
}
內,但是,當我把this.props.updateBuilding
像下面的renderBuildings方法...
renderBuildings(building) {
return (
<div>
<p> {building.name}</p>
<button type="button" className="btn btn-success" onClick={this.props.updateBuilding.bind(this, building.id)}>Edit</button>
</div>
);
}
我得到的錯誤:
Cannot read property 'props' of undefined
看起來道具updateBuildings
不能成立d當它在renderBuildings方法中時,我不知道是什麼導致了這一點。