最近在使用React Native(以下简称RN)中踩了个坑,RN只能异步调用原生方法,所以在原生方法直接调用UI刷新操作需要将任务递交到主线程才可以。
RCT_EXPORT_METHOD(finish)
{
UIViewController *cVC = [UIViewController getTopViewController];
[cVC.navigationController popViewControllerAnimated:YES];
}
调用的时候可以发现,线程并不是主线程。比如我这次是在thread 13
提交到主线程就可以
RCT_EXPORT_METHOD(finish)
{
dispatch_async(dispatch_get_main_queue(), ^{
UIViewController *cVC = [UIViewController CM_curViewController];
[cVC.navigationController popViewControllerAnimated:YES];
});
}
本文介绍了在ReactNative中正确调用原生方法的方法,强调了必须通过主线程执行UI刷新操作的重要性,并提供了具体的实现代码。
1872

被折叠的 条评论
为什么被折叠?



