gpt4 book ai didi

reactjs - React Props 未定义

转载 作者:行者123 更新时间:2023-12-03 13:19:32 25 4
gpt4 key购买 nike

我无法理解为什么我的 props.updateBuilding 不起作用。

当 prop 位于渲染方法中时,以下内容有效

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

似乎 Prop updateBuildings 在 renderBuildings 方法内部时无法读取,我不确定是什么原因造成的。

最佳答案

就我而言,我忘记将 props 添加为构造函数的参数。

constructor(props) {
super(props);
}

关于reactjs - React Props 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40622102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com