我在Component中创建了一个自定义标签栏,使用StackNavigator
就像这样
export default StackNavigator(
{
Login: {
screen: Login,
},
ForgotPassword: {
screen: ForgotPassword,
},
SignUp: {
screen: SignUp,
},
Home: {
screen: Home,
},
},
{
headerMode: 'none',
navigationOptions: {
headerVisible: false,
},
initialRouteName: 'Home',
},
);
现在我的Home
屏幕有一个自定义标签栏就像这样
export default () => (
<View>
<Text>HOME</Text>
<TabBar />
</View>
)
我希望我的Home
屏幕标签栏没有转换
当点击其中一个标签链接时,它会为left to right
和IOS
bottom to up
设置Android
动画
我检查过docs&amp;找到mode
属性,但它只有2个道具card
&amp; modal
&amp;我不想要动画
怎么做?
答案 0 :(得分:0)
感谢@Vojtech,我得到了答案
const customAnimationFunc = () => ({
screenInterpolator: (sceneProps) => {
const { scene } = sceneProps;
const tabs = ['Home'];
if (tabs.indexOf(scene.route.routeName) !== -1) return null;
},
});
export default StackNavigator(
{
Login: {
screen: Login,
},
ForgotPassword: {
screen: ForgotPassword,
},
SignUp: {
screen: SignUp,
},
Home: {
screen: Home,
},
},
{
headerMode: 'none',
transitionConfig: customAnimationFunc,
navigationOptions: {
headerVisible: false,
},
initialRouteName: 'Home',
},
);
现在唯一的问题是什么都不是动画。我会在几个屏幕动画和动态时编辑答案。标签不是