我试图使用延迟功能,但我得到一个错误,延迟不是一个功能.

直接从文件:

import { race, call, put, delay } from 'redux-saga/effects'

function* fetchPostsWithTimeout() {
  const {posts, timeout} = yield race({
    posts: call(fetchApi, '/posts'),
    timeout: delay(1000)
  })

  if (posts)
    yield put({type: 'POSTS_RECEIVED', posts})
  else
    yield put({type: 'TIMEOUT_ERROR'})
}

推荐答案

我怀疑这是因为这些文档最近更新了redux saga v1.0.0.这一点很重要,因为之前(在您可能正在使用的0.x版本中),它不是effect,只是一个助手.

In the 0.x version you should import it as:

import {delay} from 'redux-saga'

这个延迟函数将返回一个promise .

In the 1.0.0 version you can use it as mentioned in the docs.

import {delay} from 'redux-saga/effects'

此延迟是一个效果创建者,将返回一个效果对象.

有关v1版本的更多信息,请参见https://github.com/redux-saga/redux-saga/releases/tag/v1.0.0

React-native相关问答推荐

如何在renderItem中显示每个项目的索引号,保持分页的前一个下一个按钮

如何在使用嵌套的堆栈导航器在选项卡之间导航后弹出到堆栈顶部?

如何在底部标签导航中添加顶部标签

将值从一个 js 文件传递​​到 react native 中的另一个 js 文件:react native

如何在堆栈的任何屏幕的后退按钮按下时始终导航到堆栈的初始路径?

新的 react-native ios 应用程序没有构建?

请求无法完成,因为您已超出配额

设置 rootView.appProperties 不会重新渲染根组件

如何在 React Native 中删除警告

React Native - 如何判断 UI/元素?

请求的体验使用 Expo SDK v(null),但此 Expo Client至少需要 v23.0.0版本

try 添加包时出现错误duplicate entry:com/google/android/gms/internal/zzble.class

React-Native:FlatList onRefresh not called on pull up.

背景图像在react中不起作用

KeyboardAvoidingView - 隐藏键盘时重置高度

仅链接字体的方法

无法解析模块react-native-reanimated

运行 expo start 时如何禁用在浏览器中打开 DevTools?

如何更改后退按钮标签,react-navigation

StackNavigator中如何改变动画的方向?