Невозможно получить доступ к навигации для дочернего рендера - PullRequest
0 голосов
/ 27 сентября 2018

Может кто-нибудь объяснить мне, почему я могу получить доступ к this.props.navigation на основном рендере, а не на дочернем, также дайте мне знать, как я могу передать этот параметр другому методу рендеринга

class HomeScreen extends React.Component {

renderContent() {
  return (
    <View>    
        <Button
        title="ProfileScreen"
        onPress={() =>
        navigate('ProfileScreen')
        } />   
    </View>
  );
}

render() {
  const { navigate } = this.props.navigation;
  return (
        <ReactNativeParallaxHeader
          headerMinHeight={24}
          renderContent={this.renderContent}
        />
    );
  }
}

export default HomeScreen

Я пытался реализовать функцию стрелки, но все еще ничего не происходит и получил неопределенный

1 Ответ

0 голосов
/ 27 сентября 2018

Поскольку вы определяете навигацию внутри метода render ().

Это должно работать

class HomeScreen extends React.Component {

let navigate;

constructor(props) {
    super(props)
    navigate = props.navigation.navigate;
}


renderContent() {
  return (
    <View>    
        <Button
        title="ProfileScreen"
        onPress={() =>
        navigate('ProfileScreen')
        } />   
    </View>
  );
}

render() {
  
  return (
        <ReactNativeParallaxHeader
          headerMinHeight={24}
          renderContent={this.renderContent}
        />
    );
  }
}

export default HomeScreen
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...