首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分派导航操作

分派导航操作
EN

Stack Overflow用户
提问于 2020-03-16 03:45:24
回答 2查看 1.2K关注 0票数 0

这是我的代码

代码语言:javascript
复制
import { NavigationActions } from "react-navigation"
import { call, put, delay } from "redux-saga/effects"
import { AsyncStorage, Alert } from "react-native"
export function* handleResponse(response) {
    switch (response.status) {
        case 200: {
            console.log('logged by phuognn aaa');
            Alert.alert("404400404040400")
            yield call(NavigationActions.navigate, { routeName: "Auth" })
            return true;
        }
        case 201: {
            console.log('logged by phuognn bbb');
            return false;
        }
    }
}

日志行和警报正在运行,我想导航到路由"Auth“,但不工作。我的代码有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2020-03-16 06:28:49

错误

代码语言:javascript
复制
yield call(NavigationActions.navigate, { routeName: "Auth" })

替换为

代码语言:javascript
复制
this.props.navigation.navigate("Auth");

以下是理解的链接

(在屏幕间移动) https://reactnavigation.org/docs/navigating

票数 0
EN

Stack Overflow用户

发布于 2020-03-16 14:03:03

NavigationActions.navigate是一个动作创建者函数,而不是api调用或类似的函数。要从佐贺内部分派动作,您应该使用put而不是call

代码语言:javascript
复制
import { NavigationActions } from "react-navigation"
import { call, put, delay } from "redux-saga/effects"
import { AsyncStorage, Alert } from "react-native"
export function* handleResponse(response) {
    switch (response.status) {
        case 200: {
            console.log('logged by phuognn aaa');
            Alert.alert("404400404040400");
            yield put(NavigationActions.navigate({ routeName: "Auth" }));
            return true;
        }
        case 201: {
            console.log('logged by phuognn bbb');
            return false;
        }
    }
}

试一试这段代码。我对redux-saga不太熟悉。我更喜欢redux-observable,所以让我知道这是否有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60700102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档