【发布时间】:2018-01-19 15:49:37
【问题描述】:
我正在使用此代码重置当前视图
NavigationActions.reset({ index: 0, key: null, actions: [ NavigationActions.navigate({ routeName: 'Login' }) ] });
有时它有效,有时我在 Xcode 中的 RCTUIManager.m 文件上收到 Signal Sigabrt 错误。我无法弄清楚问题是什么时候发生的。错误发生在这个函数中
- (void)setSize:(CGSize)size forView:(UIView *)view
{
RCTAssertMainQueue();
NSNumber *reactTag = view.reactTag;
dispatch_async(RCTGetUIManagerQueue(), ^{
RCTShadowView *shadowView = self->_shadowViewRegistry[reactTag];
RCTAssert(shadowView != nil, @"Could not locate shadow view with tag #%@", reactTag); // ERROR in this line
if (CGSizeEqualToSize(size, shadowView.size)) {
return;
}
shadowView.size = size;
[self setNeedsLayout];
});
}
如果我删除函数上的代码,一切正常。 当没有崩溃时,控制台总是打印一个警告
RCTView 类型的视图 #1430 有阴影集但无法计算 阴影有效。考虑设置背景颜色来解决这个问题, 或将阴影应用到更具体的组件。
但我没有任何使用阴影的视图,并且无法弄清楚哪个 react-native 元素正在这样做。
编辑: 如果我检查 shadowView 不为空,一切正常
if(shadowView){
RCTAssert(shadowView != nil, @"Could not locate view with tag #%@", reactTag);
}
这是 RN 中的错误吗?
【问题讨论】:
-
你能告诉我你使用的是哪个 react native 版本吗?
-
我使用的是 react-native 0.48.4
-
您能否尝试提供有关您项目的更多信息?您收到错误的屏幕截图?您与版本一起使用的软件包是什么。填写更多信息,以便 SO 上的人了解您的问题。
标签: react-native navigation-drawer react-navigation