【问题标题】:redux async example is not working on firefoxredux 异步示例不适用于 firefox
【发布时间】:2018-11-05 12:40:51
【问题描述】:

我是学习 reactjs + redux 的新手 作为遵循 redux async 示例的方式,redux async,我发现它在 chrome 和 safari 上运行良好,但不是 firefox(最新,60.0.1(64it),OSX)

示例的作用是使用 redux-thunk 从 reddit grep 数据并显示到 UI,但调用 fetch 函数时会引发网络错误

这里是sn-p(我修改了获取fetch返回对象,但是逻辑没有变),

// ${subreddit} = reactjs or front

const fetchPosts = subreddit => dispatch => {
  dispatch(requestPosts(subreddit))
  let ret = fetch(`https://www.reddit.com/r/${subreddit}.json`)
    .then(response => {
      return fetchReturn(response);
    })
    .then(json => dispatch(receivePosts(subreddit, json)))
  return ret;
}

这是浏览器中ret的错误信息, image shows error

加载中间件时似乎发生了错误,但我不知道如何修复它。 我认为这可能是由于 CORS 并试图将文件放到本地主机,但没有运气。

【问题讨论】:

  • 从网络选项卡,对reddit的请求根本没有发生
  • 我认为您没有遇到 CORS 问题。可能使用错误的值(subreddit 变量)进行调用。在 fetch 请求中设置 .catch(err => console.log(err));,这样您就可以获得有关您遇到的错误的更多信息。

标签: javascript reactjs redux redux-thunk


【解决方案1】:

我没有足够的声誉来发表评论,因此我将把它留在这里。

issue 中分享了不同的解决方案,可能对您有所帮助。

否则,您可以按照guide 在您的 fetch 方法中添加 CORS 支持。

编辑:确保您使用 babel-polyfill 启用了 Promise polyfill

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    相关资源
    最近更新 更多