我遇到的问题是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>
)
}
}
答案 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的基本实现。