首页 > 解决方案 > 为什么异步等待不适用于反应导航?

问题描述

我在 react-native 中使用 react-navigation 我陷入了防止多次点击的问题。我认为async-await使函数有序执行,但它不会等到函数完成工作。

如果您对此有任何想法,请留下您的意见。

这是我的代码。

    moveToFavorite = async () => {
            const {fetching, ScreenActions, navigation, clicked} = this.props;
            const {push, navigate} = navigation;

            await navigation.setParams({clicked: true});

            const test = await navigation.getParam('clicked')
            console.log(test) // it should be true, but false

            if(!clicked) {
                await ScreenActions.stackScreen('favorite');
                !clicked ? await navigate('FavoriteScreen') : null;
                await ScreenActions.init_clicked();
                await navigation.setParams({clicked: false});
            }
        }
`

标签: reactjsreact-nativeasync-awaitreact-navigation

解决方案


推荐阅读