我怎么能覆盖Navigator.NavigationBar

时间:2016-03-02 13:20:04

标签: react-native navigationbar

我希望在呈现不同的组件时显示backgroundColor Navigator.NavigationBar,因此我尝试从各种标志中更改css,但我始终从this.props.style获取数字类型,

也许我没有明确表达,请在下面提供一些代码。

class NavigationBar extends Navigator.NavigationBar {
  render() {
    var routes = this.props.navState.routeStack;

    if (routes.length) {
      var route = routes[routes.length - 1];

      console.log(this.props.style);    // output 92 always

      // so below code doesn't work, I can't override css :(
      if(route.flag === 1) {
        Object.assign(this.props.style, {backgroundColor: 'yellow'});
      } else if(route.flag ===2) {
        Object.assign(this.props.style, {backgroundColor: 'blue'});
      }
    }

    return super.render();
  }
}

并在我的例子中使用,

render: function(){
  return (
    <Navigator
      initialRoute={{
        component: YellowComponent,
        flag: 1,
      }}
      renderScene={this.renderScene}
      navigationBar={
        <NavigationBar
          routeMapper={NavigationBarRouteMapper}
          style={styles.navBar}
        />
      }
    />
  );
}

任何人都可以帮助我吗?

谢谢你的时间。

0 个答案:

没有答案