I'm using the sample below (taken from the CupertinoTabScaffold documentation page).
There is a "slide" transition when pushing a new route inside the tab, but when I click on a tabbar item, the content is brutally replaced. How can I have a transition when switching between tabs?
I would like implement something like that: https://github.com/Interactive-Studio/TransitionableTab
CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: [
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.home),
title: Text("Tab 0"),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.news),
title: Text("Tab 1"),
),
],
),
tabBuilder: (BuildContext context, …Run Code Online (Sandbox Code Playgroud) 我已经开始在现有的应用程序中集成React Native,我的意思是我们希望用尽可能多的RN来重构真正的工业化应用程序(同一应用程序的iOS和Android版本),以便将代码库集合在一起(有也是现有的网络版).
我们相信,包括多个RCTRootView共享同一个桥接器对我们来说是最好的方法,从基本内容视图(共享代码库更容易和更有利可图)开始,并迭代以在RN中转换越来越多的应用程序(动画,导航,...).
但是,当我们调查这种方法时,出现了几个问题,包括技术问题和组织问题.
首先,虽然我们不想成为iOS优先或Android优先,但Android平台似乎没有相同的iOS平台成熟度来完成这类工作.我们遇到了一些问题:
ReactRootView不遵循生命周期做出反应,不像iOS版的RCTRootView,没有API更新道具:https://github.com/facebook/react-native/issues/6303ReactRootView在原生的scrollview中包含一个内容是不可能的.此限制存在于Android发布的第一天(请参阅https://github.com/facebook/react-native/issues/9022)以下不是真正的"问题",但它增加了对Android支持的疑虑.集成文档
的iOS部分清楚地提到可以使用现有桥来初始化视图(API也是显式的).
在Android上,同一个文档提到多个视图可以共享相同的内容,但如果您在捆绑包中公开2个组件并使用它,则必须调用两次,您将在Chrome控制台中看到2行
声音对我来说不是很优化...我真的在这里创建了2个完整的"RN应用程序"吗?initWithBridgeReactInstanceManagerstartReactApplication
Running application "XXX" with appParams
Running application "YYY" with appParams
话虽如此,我们正在寻找反馈和答案:
我使用redux-observable处理React Native应用程序.我有10+的史诗,所有的结局.catch(err => console.error(err)),以显示本机做出反应"红盒子"(见https://facebook.github.io/react-native/docs/debugging.html#errors)在里面的错误的情况下,史诗.
如何定义一个全局错误处理程序,由所有史诗使用(它们稍后由combineEpics函数组合)?
我使用react-native-git-upgrade在我的项目上升级React Native,这个过程留下了一些我现在要解决的冲突分隔符:
DEAD_CODE_STRIPPING = NO;
<<<<<<< ours
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-video",
);
INFOPLIST_FILE = "MyAwesomeApp/Info.plist";
=======
INFOPLIST_FILE = MyAwesomeApp/Info.plist;
>>>>>>> theirs
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
Run Code Online (Sandbox Code Playgroud)
但Git没有看到这些冲突:git status没有显示任何"未合并的路径".并且git mergetool失败并显示"没有文件需要合并"的消息
所以我必须通过删除/保持线来手动解决它们.有没有办法在这里使用Git合并工具?