我想使用一个自定义组件,并且需要它具有导航道具才能在该组件内导航。
目前,我将导航作为经典道具:
<MyVideo videoSource={require('../Image/S01E01DB.mp4')}
thumbnailSource={require('../Image/S01E01DB.mp4')}
navigation={this.props.navigation}/>
但是有可能总是像他作为道具一样设置他吗?
为了简化道具的使用,我需要这么做。
答案 0 :(得分:1)
如@jonrsharpe的评论部分所述,navigation
道具仅自动提供给使用createStackNavigator
或其他react-navigation
导航员声明的路线
您可以从react-navigation
使用一种工具将任何组件连接到您的父导航器:
import { withNavigation } from 'react-navigation';
class MyBackButton extends React.Component {
render() {
return <Button title="Back" onPress={() => { this.props.navigation.goBack() }} />;
}
}
// withNavigation returns a component that wraps MyBackButton and passes in the
// navigation prop
export default withNavigation(MyBackButton);
对于嵌套的导航器,withNavigation
函数将获取组件的最接近的父级。
您将在this link
上找到更多信息。