【问题标题】:NextJS redux-saga sample code doesn't work with redux-saga ^1.0.0?NextJS redux-saga 示例代码不适用于 redux-saga ^1.0.0?
【发布时间】:2019-01-25 18:59:01
【问题描述】:

我正在一个大型现有 React 项目中连接 Next.js 和 redux-saga。我正在关注 Next.js 示例代码。示例代码运行良好,但是当我尝试移动 Next.js redux-saga 示例代码 -- https://github.com/zeit/next.js/tree/master/examples/with-redux-saga -- 时,我的数据没有存储在存储中。我不确定我存储它的操作是否被调用,或者它是否被调用晚了,但我最终得到了一个空存储。

我正在跟踪输出,发现 redux-saga 任务似乎有一个带有示例代码的 done 字段,但在我的代码中它有一个 toPromise 字段。

我可以看到两个项目之间唯一明显的区别是示例代码使用 redux-saga 0.16.0 而我的项目使用 ^1.0.0。

当我将项目切换为使用 redux-saga 0.16.0 时,它工作正常。

也许这两个项目都依赖的 next-redux-saga 正在寻找 done 字段?会不会是别的东西?我附上了两个 package.json 字段,以防你发现我没有发现的东西。谢谢你的帮助!

示例代码 package.json

{
  "name": "with-redux-saga",
  "version": "1.0.0",
  "license": "ISC",
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  },
  "dependencies": {
    "es6-promise": "4.1.1",
    "isomorphic-unfetch": "2.0.0",
    "next": "^7.0.2",
    "next-redux-saga": "3.0.0",
    "next-redux-wrapper": "2.0.0",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-redux": "5.0.7",
    "redux": "4.0.0",
    "redux-saga": "^1.0.0"
  },
  "devDependencies": {
    "redux-devtools-extension": "2.13.2"
  }
}

我的 package.json

{
  "name": "PAW-React",
  "version": "1.0.0",
  "main": "index.js",
  "repository": "https://github.com/InterficieIS/PAW-React.git",
  "author": "Javier1177 <javierlopezblasco@gmail.com>",
  "license": "MIT",
  "dependencies": {
    "@date-io/date-fns": "^1.0.1",
    "@material-ui/core": "^3.8.3",
    "autoprefixer": "7.1.5",
    "babel-plugin-module-resolver": "^2.7.1",
    "babel-plugin-wrap-in-js": "^1.1.0",
    "bulma": "^0.6.2",
    "date-fns": "^2.0.0-alpha.27",
    "dotenv": "^4.0.0",
    "eslint-config-airbnb": "^17.1.0",
    "express": "^4.16.4",
    "glob": "^7.1.2",
    "isomorphic-unfetch": "^3.0.0",
    "jss": "^9.8.7",
    "material-ui-pickers": "^2.1.1",
    "next": "^7.0.2",
    "next-fonts": "^0.16.0",
    "next-redux-saga": "^3.0.0",
    "next-redux-wrapper": "^2.1.0",
    "node-sass": "^4.4.0",
    "normalize.css": "^7.0.0",
    "prop-types": "^15.6.2",
    "raw-loader": "^0.5.1",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-jss": "^8.6.1",
    "react-redux": "^6.0.0",
    "react-slick": "^0.23.2",
    "redux": "^4.0.1",
    "redux-saga": "^1.0.0",
    "sass-loader": "^6.0.6",
    "slick-carousel": "^1.8.1"
  },
  "devDependencies": {
    "babel-eslint": "^7.2.3",
    "command-line-args": "^4.0.7",
    "cross-env": "^5.1.3",
    "eslint": "^5.12.0",
    "eslint-config-react-app": "^2.1.0",
    "eslint-plugin-flowtype": "^2.41.0",
    "eslint-plugin-import": "^2.8.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.5.1",
    "file-loader": "^3.0.1",
    "url-loader": "^1.1.2",
    "redux-devtools-extension": "^2.13.7"
  },
  "scripts": {
    "dev": "PORT=3001 node server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js",
    "export": "next export",
    "eslint": "eslint . --ext=\"js,jsx\""
  }
}

【问题讨论】:

    标签: javascript reactjs redux react-redux next.js


    【解决方案1】:

    react-redux 1.0.0 版带来了尚未在这些项目中实现的 API 重大更改。请跟踪以下问题和拉取请求以了解更多信息:

    https://github.com/zeit/next.js/pull/6109

    https://github.com/bmealhouse/next-redux-saga/issues/27

    https://github.com/bmealhouse/next-redux-saga/pull/29

    最好的问候

    【讨论】:

      猜你喜欢
      • 2019-08-02
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多