React 导航自定义 header
React navigation custom header
我正在尝试像这样使用 react-navigation 自定义 header
static navigationOptions = {
header: <EventHeader
subscribestatus={this.props.navigation.getParam('status')}
confirmation={this.props.navigation.getParam('confirmation')}
deleteSubscribe={this.deleteSubscribe}
joinEvent={this.joinEvent}
onPress={()=>this.props.navigation.goBack()}
eventname={this.props.navigation.getParam('title')}
/>
};
这个 header 正在获取上一个屏幕的参数,如您所见,但我正在获取
undefined 不是 object(评估 'this.props.navigation')
我做错了什么,我该如何解决?
我希望你找到了解决方案,但对于其他可能来这里的人来说:
navigationOptions
可以是一个 function
,它将 navigator
作为第一个参数传递,并且可以 return 一个对象。
所以你可以这样写:
static navigationOptions = (navigator) => {
return {
header: (
<EventHeader
subscribestatus={navigator.navigation.getParam('status')}
confirmation={navigator.navigation.getParam('confirmation')}
//deleteSubscribe={this.deleteSubscribe}
//joinEvent={this.joinEvent}
onPress={()=>navigator.navigation.goBack()}
eventname={navigator.navigation.getParam('title')}
/>
)
}
}
很遗憾,您将无法访问 this.deleteSubscribe 或 this.joinEvent
我正在尝试像这样使用 react-navigation 自定义 header
static navigationOptions = {
header: <EventHeader
subscribestatus={this.props.navigation.getParam('status')}
confirmation={this.props.navigation.getParam('confirmation')}
deleteSubscribe={this.deleteSubscribe}
joinEvent={this.joinEvent}
onPress={()=>this.props.navigation.goBack()}
eventname={this.props.navigation.getParam('title')}
/>
};
这个 header 正在获取上一个屏幕的参数,如您所见,但我正在获取 undefined 不是 object(评估 'this.props.navigation')
我做错了什么,我该如何解决?
我希望你找到了解决方案,但对于其他可能来这里的人来说:
navigationOptions
可以是一个 function
,它将 navigator
作为第一个参数传递,并且可以 return 一个对象。
所以你可以这样写:
static navigationOptions = (navigator) => {
return {
header: (
<EventHeader
subscribestatus={navigator.navigation.getParam('status')}
confirmation={navigator.navigation.getParam('confirmation')}
//deleteSubscribe={this.deleteSubscribe}
//joinEvent={this.joinEvent}
onPress={()=>navigator.navigation.goBack()}
eventname={navigator.navigation.getParam('title')}
/>
)
}
}
很遗憾,您将无法访问 this.deleteSubscribe 或 this.joinEvent