道具自动作为参数给出

时间:2018-07-20 13:17:44

标签: react-native

我想使用一个自定义组件,并且需要它具有导航道具才能在该组件内导航。

目前,我将导航作为经典道具:

<MyVideo videoSource={require('../Image/S01E01DB.mp4')}
         thumbnailSource={require('../Image/S01E01DB.mp4')}
         navigation={this.props.navigation}/>

但是有可能总是像他作为道具一样设置他吗?

为了简化道具的使用,我需要这么做。

1 个答案:

答案 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

上找到更多信息。