在.map函数中使用react道具
Using react props in .map function
假设我的一个组件上有以下呈现函数。从父元素中,我传递了一个changeTid
道具函数。
父级:
<RequestsList data={this.state.data} changeTid={this.changeTid} />
子级:
(我使用的是ES6类)
render() {
var RequestNodes = this.props.data.map(function(request) {
return (
<Request
key={request.TID}
changeTid={this.props.changeTid}
/>
);
});
return (
<div className="list-group">{RequestNodes}</div>
);
}
我不能在映射函数中使用this.props.changeTid
,因为this
没有引用我想要的内容。我在哪里绑定它以便访问我的props
?
您可以通过第二个参数为.map
回调设置this
var RequestNodes = this.props.data.map(function(request) {
/// ...
}, this);
或者您可以使用没有自己的this
的箭头函数,其中的this
指的是封闭上下文
var RequestNodes = this.props.data.map((request) => {
/// ...
});
如果您使用ES6,您可以使用不绑定自己的this
的箭头函数
var RequestNodes = this.props.data.map(request => {
return (
<Request
key={request.TID}
changeTid={this.props.changeTid}
/>
);
});
相关文章:
- React组件等待所需道具进行渲染
- 为react组件传递道具的最佳方式
- React应用程序:道具在下一个事件后更新
- 在React JS中将道具传递给父级
- 在.map函数中使用react道具
- React没有't重新考虑道具的变化
- React中的突变道具
- React:是否可以访问DOM元素's道具
- 在React中渲染子对象,丢失道具数据
- 为什么shouldComponentUpdate说当前道具是React中的新道具
- React:向现有组件添加道具
- React redux和初始化具有异步动作解析的道具
- Redux和React-通过@connect保持组件道具与状态同步
- 嵌套的React/Rerelay组件未接收道具
- 无法将React元素作为道具传递
- 如何导出带有道具的React组件
- React组件未接收道具
- 无法读取属性'道具'React容器中自定义onTouch函数中未定义的
- React-道具改变时改变状态
- 我如何访问React道具中的嵌套对象属性