栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在地图内访问正确的“ this”:ReactJS

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在地图内访问正确的“ this”:ReactJS

问题在于这条线:

{this.props.postComments.map( this.renderComment )}

因为您忘记了绑定

renderComment
,映射回调方法,所以
this
inside
renderComment
方法将不会引用类上下文。

使用这些解决方案中的 任何一种 ,它将起作用。

1-

constructor
以下位置使用此行:

this.renderComment = this.renderComment.bind(this) ;

2- 通过

this
map
喜欢:

{this.props.postComments.map(this.renderComment, this)}

3- 将Arrow函数与

renderComment
方法配合使用,如下所示:

renderComment = (comment, i) => {    .....

或在

renderComment
函数内部使用地图(我以前更喜欢这种方式),如下所示:

renderComment() {    return this.props.postComments.map((comment, i) => {        return( <div className="comment" key={i}>     <p>         <strong>{comment.user}</strong>         {comment.text}         <button   onClick={this.handleRemoveComment}  className="remove-comment">  &times;         </button>     </p> </div>        )    })}

并从中调用此方法

render
,在这种情况下,
renderComment
不需要绑定:

{this.renderComment()}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415631.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号