首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook React框架中的上下文

Facebook React框架中的上下文
EN

Stack Overflow用户
提问于 2013-06-25 10:18:46
回答 2查看 2K关注 0票数 6

我很难理解Facebook的React框架中的上下文是如何工作的。

当将规范传递给React.createClass时,某些方法(特别是事件处理程序)似乎需要使用React.autoBind来“将回调绑定到组件”。其他方法(特别是render())没有这个要求,但仍然乐于引用this.propsthis.state

如果render()方法不是组件,那么它的上下文是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-07 03:31:14

这是因为他们已经为内部方法(如autoBind )做了render。实际上,如果调用autoBind并传递这些方法,您将得到一个错误。

对于自定义方法,最初的想法是,您可能希望坚持您想要分配的任何上下文,但是这在0.4.x (http://facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html)中被改变了。

基本上,因为绑定this在大多数情况下都是您想要的,从现在开始,createClass中的每个方法现在都默认为autoBind

票数 4
EN

Stack Overflow用户

发布于 2013-08-04 18:57:01

在任何组件框架(不仅仅是反应)中,事件处理程序需要手动管理this引用,因为它们是作为回调函数而不是方法注册到DOM中的。在Reacti0.3中,您可以自己绑定this引用,也可以使用更高效的React.autoBind。在React 0.4中,所有事件处理程序在进入DOM的过程中都会受到框架的约束,因此您不必再考虑它了。

因此,this引用始终是对react组件实例的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17294736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档