首页 > 解决方案 > 如何在yield调用中从响应中传递数据?

问题描述

我有这样的代码

export function* generateMotif({ payload }) {
    try {
        let { detail } = yield select(state => state.user);
        const result = yield call(API.generateMotif, payload, detail.api_token);
        
        yield put({
            type: types.GENERATE_MOTIF_SUCCESS,
            payload: result,
        });
    } catch (err) {
        yield put(handleError(err));

        yield put({
            type: types.GENERATE_MOTIF_FAILURE,
            payload: err,
        });
    }
}

结果有用户名、URL、文件名等数据。是否可以在 sagas 中从结果中传递特定数据?

就像我只想要数据 URL 或文件名,所以我把我的代码这样

yield put({
     payload: result.data.url;
});

我已经尝试result使用在结果console.log(result.data.url)中显示进行调试data。但我得到了回应undefined

我的代码中是否遗漏了什么?

我希望你能给我一些关于如何解决这个问题的建议。非常感谢

标签: reactjsreact-nativereact-redux

解决方案


推荐阅读