首页 > 解决方案 > setDefaultOptions VS。静态选项 VS。setRoot 中的选项

问题描述

使用Wix 的react-native-navigation,使用这些方法设置布局选项有什么区别?

Navigation.setDefaultOptions({
  topBar: {
    background: {
      color: 'red'
    }
  }
});

对比

static options(passProps) {
  return {
    topBar: {
      background: {
        color: 'red'
      }
    }
  };
}

对比

Navigation.events().registerAppLaunchedListener(() => {
  Navigation.setRoot({
    root: {
      stack: {
        children: [{}],
        options: {
          topBar: {
            background: {
              color: 'red'
            }
          }
        }
      }
    }
  });
});

在组件内部静态定义选项而不是使用选项初始化根有哪些原因/案例/等?这些不同方式的功能差异/幕后发生了什么?

标签: react-nativereact-native-androidreact-native-iosreact-native-navigationreact-native-navigation-v2

解决方案


setDefaultOptions是适用于所有屏幕和所有将要创建的根的默认选项。 static options按屏幕定义并覆盖 defaultOptions 但不适用于所有屏幕 setRoot仅适用于该根


推荐阅读