Пропорции - это в основном "аргументы", которые вы передаете компоненту, поэтому предположим, что у вас есть
<Component something="abcd" anotherThing="efg"></Component>
внутри этого компонента, если вы обращаетесь к this.props, у вас будет это
{
something: "abcd",
anotherThing: "efg",
}
чтобы вы могли сделать this.props.something или this.props.anotherThing и получить доступ к этим значениям.
Вы также можете сделать что-то подобное в вашем методе
const { something, anotherThing} = this.props;
console.log(something);
console.log(anotherThing);
Итак, что не так с вашим кодом, так это то, что вы не передаете функцию logoutCurrentUser в качестве реквизита.
вам нужно передать ее компоненту
const MainDrawer = createDrawerNavigator(
{
Home: {
screen: HomeScreen,
},
}, {
contentComponent: (props) => (
<View style={{ flex: 1 }}>
<SafeAreaView forceInset={{ top: 'always', horizontal: 'never' }}>
<DrawerItems {...props} />
<Button
color='red'
title='Logout'
onPress={() => { props.logoutCurrentUser() }}
/>
</SafeAreaView>
</View>
),
})
class AppNavigation extends Component {
constructor(props) {
super(props);
}
logoutCurrentUser = () => {
console.log("LOGOUT PRESSED")
}
render() {
return <MainDrawer logoutCurrentUser={this.logoutCurrentUser} />
}
}
Если вы хотите передать реквизитиспользуя HOC, просто передайте реквизит HOC, HOC, например, стекавигатор
const SomeStack = createStackNavigator({
// config
});
<SomeStack
screenProps={/* this prop will get passed to the screen components as this.props.screenProps */}
/>