无法在React Native Navigator中呈现新组件

时间:2016-02-28 16:57:21

标签: reactjs react-native

我遇到的问题是onRightButtonPress没有将新路线推送到导航器。好像我没有navigator对象,因为我没有任何道具。我错过了什么?当我点击"创建"我想渲染另一个视图触发onRightButtonPress功能的按钮。

export default class App extends Component {
  render() {
    const addWorkoutRoute = {
      title: 'Add workout',
      component: AddWorkout,
    };

    return (
      <Provider store={store}>
        <NavigatorIOS
          style={styles.container}
          initialRoute={{
            rightButtonTitle: 'Create',
            onRightButtonPress: () => this.props.navigator.push(addWorkoutRoute),
            title: 'Workout overview',
            component: WorkoutList,
          }}
        />
      </Provider>
    )
  }
}

1 个答案:

答案 0 :(得分:0)

尝试在NavigatorIOS上设置ref,然后按下ref:

 <NavigatorIOS
    ref="nav"
    style={{ flex: 1 }}
    initialRoute={{
        rightButtonTitle: 'Create',
        onRightButtonPress: () => this.refs.nav.push(addWorkoutRoute),
        title: 'Workout overview',
        component: WorkoutList,
      }}
    />

请注意,它现在正在推送到参考:

onRightButtonPress: () => this.refs.nav.push(addWorkoutRoute),

我认为这是因为导航器没有道具,因为它仍然是导航器的实例。

我设置了here的基本实现。

https://rnplay.org/apps/J_4iGg