我是React Native的新手,当我遇到此问题时正在使用Navigator播放。React Native- this.props在不同文件中的场景中为空
这是文件中的我的主类:CategoryScene,这
export default class CategoryScene extends Component {
render() {
...
var testArr = {... } ;
testArr.forEach(function(testEl) {
var test = this.props.test;
});
}
}
出于某种原因,在:
class SweetSpotClient_Proto extends Component {
render() {
return (
<Navigator
initialRoute={{ test: CategoryScene }}
renderScene={this.renderScene.bind(this)}/>
);
}
renderScene(route, navigator) {
return <CategoryScene test={route.test}/>
}
}
这是我在文件B场景。道具为空,所以我无法访问this.props.test。
我做错了什么?
我厌倦了我机器中的完全相同的代码,它像一个魅力工作。你可以仔细检查它是否工作? –
所以我发现这个问题,上面的代码显然没有提供足够的细节。失败的部分被forEach()块封装,出于某种原因(我不知道这是否由JS设计),**在ForEach中,范围更改为DedicatedWorkerGlobalScope而不是最内层的闭包**;因此,this.props变为空...感谢所有您的帮助。 –
更新了原始发布。我发现**我使用var而不是let,导致forEach的范围被绑定到最外层对象**而不是最近的封闭对象......谢谢.. –