Можно ли передать функцию goBack () в качестве параметра - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть функция AccountScreen. С этого экрана я бы хотел иметь возможность navigate.goBack(). Я пытался следовать руководству здесь о том, как go вернуться на предыдущий экран, но я получаю сообщение об ошибке.

Вот мой код:

AccountScreen. js

const BackButton = styled.Button`

`;


function AccountScreen({doThis}) {
    return(
        <Root>
            <BackButton title="" onPress={() => doThis} />
            <Text>Account</Text>
        </Root>
    )
};

export default AccountScreen;

навигаций. js

const createProfileDrawer = ({navigation}) => 
            <Drawer.Navigator>
                <Drawer.Screen name="Profile" component={ProfileScreen}/>
                <Drawer.Screen name="Account" 
                component={AccountScreen(navigation.goBack())} />
            </Drawer.Navigator>

Поэтому, когда я пытаюсь передать его таким образом, я получаю сообщение об ошибке The action 'GO_BACK' was not handled by any navigator. Возможно ли передать функцию, подобную этой

1 Ответ

0 голосов
/ 11 апреля 2020

Попробуйте внести следующие изменения:

в AccountScreen.js:

import { useNavigation } from '@react-navigation/native';

function AccountScreen() {
    const navigation = useNavigation();

    return(
        <Root>
            <BackButton title="" onPress={() => navigation.openDrawer()} />

в navigations.js:

<Drawer.Screen name="Account" component={AccountScreen} />

Обратите внимание, что действия, которые вы хотите, вероятны не «goBack», а «openDrawer».

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