请为`props.sceneStyle`而不是StyleSheet引用提供原始对象

时间:2017-11-28 15:53:21

标签: javascript react-native

我自己想出了这个问题的答案,但是我在这里发布了这个问题,以便未来的Google员工可以轻松找到问题并获得问题的解决方案。

使用已弃用的Navigator组件以及使用'sceneStyle'属性时出现问题。我原来的Navigator组件看起来像这样:

<Navigator 
    initialRoute={routes.main}
    renderScene={this._renderScene}
    style={styles.container}
    sceneStyle={styles.sceneContainer}
  />

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  sceneContainer: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'stretch'
  },
})

以下内容给了我以下错误:

Invariant violation: error when using Navigator from react-native-custom-components. Please provide a raw object to props.sceneStyle instead of a StyleSheet reference

1 个答案:

答案 0 :(得分:0)

为了纠正错误,我不得不将代码更改为以下内容:

<Navigator 
    initialRoute={routes.main}
    renderScene={this._renderScene}
    style={styles.container}
    sceneStyle={{
      flex: 1,
      justifyContent: 'center',
      alignItems: 'stretch'
    }}
  />

这消除了错误并允许导航器组件正常运行。