对于我的 React Native 应用程序中的一个屏幕,热重载不起作用。我发现解决方案是改变这个
componentDidMount = () => {
<...do stuff with this.props...>
}
对此
componentDidMount() {
<...do stuff with this.props...>
}
所以我所做的只是componentDidMount
从箭头函数变为非箭头函数。所以我的问题是:
为什么将其更改为非箭头函数会使热重载再次起作用?我知道将其设为非箭头函数意味着如果从其他上下文调用该函数,则 的值this
将重新绑定到调用该函数的上下文,而使用箭头函数它将始终被绑定到定义它的组件。但这对热重载有何影响?热重载是否会导致componentDidMount
从不同的上下文中调用并this
重新绑定?如果是这样,这将如何影响热重载?
谢谢!
更新
一些用户询问这是否是(ES6 对象中的方法:使用箭头函数)或(箭头函数与函数声明/表达式:它们是否等效/可交换?)
这不是其中任何一个的副本。请注意,我确实概述了箭头函数和非箭头函数之间的区别。我的问题是这些差异如何特别适用于热重载。