减速器中的 React-redux Spread 运算符返回错误“意外令牌”

2024-02-09

我遵循 Dan Abramov 的代码https://github.com/tayiorbeii/egghead.io_redux_course_notes/blob/master/08-Reducer_Composition_with_Arrays.md https://github.com/tayiorbeii/egghead.io_redux_course_notes/blob/master/08-Reducer_Composition_with_Arrays.md

我收到错误消息“Unexpected token at line 22”,指的是 ...todo 不认为这与 Babel 预设有关,因为……状态工作得很好。当我在地图函数中用 ...state 替换 ...todo 时,它返回相同的错误。

///Reducer//
    export default (state=[], action) => {
      switch (action.type) {

        case 'ADD_TODO':
            return [...state,
                {
                 id:action.id,
                 text: action.text,
                 completed:false
                }
            ];

         case 'TOGGLE_TODO':
          return state.map(todo => {
            if (todo.id !== action.id) {
              return todo;
            }

            return {
              ...todo, //returning error
              completed: !todo.completed
            };
          });


        default:
            return state;
      }
     }

我的调用代码:

it('handles TOGGLE_TODO', () => {
    const initialState = [
        {
        id:0,
         text: 'Learn Redux',
         completed: false
        },
        {
        id:1,
         text: 'Go Shopping',
         completed: false
        }
    ];


    const action = {
        type: 'TOGGLE_TODO',
        id: 1
    }




    const nextstate = reducer(initialState,action)



    expect (nextstate).to.eql([
        {
        id:0,
         text: 'Learn Redux',
         completed: false
        },
        {
        id:1,
         text: 'Go Shopping',
         completed: true
        }
    ])

实际上,这是关于预设的。

数组扩展是 ES2015 标准的一部分,您可以在此处使用它

        return [...state,
            {
             id:action.id,
             text: action.text,
             completed:false
            }
        ];

然而,这里

        return {
          ...todo, //returning error
          completed: !todo.completed
        };

you use 对象传播 https://github.com/sebmarkbage/ecmascript-rest-spread这不是标准的一部分,但是第二阶段提案 https://github.com/tc39/proposals.

您需要在 Babel 中启用对此提案的支持:https://babeljs.io/docs/plugins/transform-object-rest-spread/ https://babeljs.io/docs/plugins/transform-object-rest-spread/或将其脱糖成Object.assign调用(参见提案的这一部分 https://github.com/sebmarkbage/ecmascript-rest-spread/blob/master/Spread.md)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

减速器中的 React-redux Spread 运算符返回错误“意外令牌” 的相关文章

  • axios 请求中未发送正文数据

    我试图通过 axios 请求将数据发送到我的后端脚本 但正文看起来是空的 这是前端发送的请求 axios request method GET url http localhost 4444 next api headers Authori
  • React JS 服务器端问题 - 找不到窗口

    你好 我正在尝试在我的reactJS项目中使用react rte 我有服务器端渲染 每次我想使用这个包时 我都会得到 return msie 6 9 b test window navigator userAgent toLowerCase
  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样
  • 在 javascript 文件中设置 firebase-admin sdk

    我的最终目标是使用用户 ID 获取用户电子邮件 到目前为止 我发现我需要使用 firebase admin SDK 现在我有这个代码 var admin require firebase admin var serviceAccount r
  • 在 onChange 事件中调用 2 个函数

    我对我的组件有点困惑 我需要从 props 调用 onChange 所以
  • react-route,react-hot-loader.webpack(您无法更改 ;它将被忽略)

    这是我的第一个项目react react router react hot loader webpack dev server and webpack 当我更改react组件中的代码时 热加载器生效 但同时控制台告诉我一个警告 您无法更改
  • 使用 mongoose 通过 React 应用程序将图像上传到 mongodb 数据库

    我正在为找到的对象创建一个反应应用程序 我想允许用户上传这些对象的照片 我尝试使用 axios 通过 post 请求将图像发送到猫鼬服务器 但它不起作用 这就是我如何将图像存储在带有预览的 React 组件中 handleImage eve
  • 您在 javascript Web 应用程序中使用的第三方 API ApiKey 存储在哪里?

    如何以及在何处存储您在 javascript Web 应用程序中使用的第三方 API ApiKey 又名 AppId AppSecret AppKey 如果它用于获取 URL 并且在浏览器网络选项卡中可见 我是否应该对其保密 示例 在我的
  • React PropTypes 与 Flow

    PropTypes 和 Flow 涵盖相似的内容 但使用不同的方法 PropTypes 可以在运行时向您发出警告 这有助于快速找到来自服务器等的格式错误的响应 但是 Flow 似乎是未来 并且具有泛型等概念 是一个非常灵活的解决方案 Nuc
  • 使用 React.lazy 时未捕获未定义的错误

    我正在尝试实施基于路由的代码分割 https reactjs org docs code splitting html route based code splitting正如 React 文档中提到的 这是添加延迟实现之前我的应用程序 这
  • 使用 Flask/WTForms 和 React 进行 CSRF 保护

    有没有人成功地为使用 React 作为受控组件 提交到 Flask 后端 最好使用 WTForms 的表单实现了 CSRF 保护 我看过很多部分答案 其中一个是关于 Django 的 但找不到任何关于 Flask 的明确答案 我的大问题似乎
  • React Context 的范围是什么?

    我不清楚在哪里Context可以在 React 应用程序中创建 我可以在组件树中的任何位置创建上下文吗 如果可以 该上下文的范围是否仅限于创建它的子级 或者 Context 本质上是全局的 我可以在文档中的哪里找到这个 案例 我在页面上多次
  • Redux 状态在 mapStateToProps 中未定义

    我目前正在关注this http teropa info blog 2015 09 10 full stack redux tutorial html教程 我遇到了一些障碍mapStateToProps在下面的代码中 import Reac
  • React-redux useDispatch() 未捕获类型错误

    我正在尝试创建一个简单的组件来使用 React Redux 钩子分派操作useDispatch 我收到一个错误 我已将组件修剪到发生错误的位置 当调用 useDispatch 函数时会发生这种情况 import useDispatch fr
  • 仅显示某些路由的组件 - React

    我正在 React 中开发一个带有登录界面的网站 该网站显示一个自定义导航组件 但是我不希望它显示在主路线 即登录页面 上 但据我了解 静态组件不会在路线更改时重新呈现 这准确吗 我正在使用 React Router 来处理所有路由 这是我
  • 使react-leaflet能够离线使用

    我一直在使用反应传单 https github com PaulLeCam react leaflet图书馆 到目前为止运作良好 现在我希望网站预加载尽可能多的图块 以便网络应用程序 也是 PWA 可以在没有互联网的情况下使用 我找到了一些
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • React无限滚动scrollableTarget动态获取id?

    我在我的项目中使用react infinite scroll component 如何让scrollableTarget动态获取item id 我试过这样scrollableTarget item id 但它不起作用 必须与该 div 具有
  • 如何修复超出最大调用堆栈大小

    有一个 MERN Firebase 应用程序并收到此错误和一堆 atdeepExtend deepCopy ts 71 RangeError Maximum call stack size exceeded getApps as apps

随机推荐

  • Hibernate - 具有排序顺序的多列索引

    我有以下代码 Table appliesTo MyTable indexes Index name MultipleColumnsIndex columnNames column1 columns2 注意 这是 Hibernate 表 通过
  • 有效筛选唯一值的数据 (Python)

    我有一个由 X Y Z A 值组成的 2D Numpy 数组 其中 X Y Z 是 3D 空间中的笛卡尔坐标 A 是该位置的某个值 举个例子 X Y Z A 13 7 21 1 5 9 2 7 0 5 15 3 9 1 1 13 7 21
  • 将列表应用于输出数据帧的函数

    我的单参数函数输出一个数据帧 library tidyverse myfun lt function x mtcars gt filter x gt group by cyl gt summarise mean disp mean drat
  • 如何在 Swift 中创建 _inline_ 递归闭包? [复制]

    这个问题在这里已经有答案了 对于 Swift 中的全局函数来说 递归是微不足道的 例如 func f f 但是 闭包不能引用自身 例如 var f Void gt Void f 产生以下错误 Variable used within its
  • 如何处理 jQuery 中的表单更改?

    在 jQuery 中 有没有一种简单的方法来测试是否any表单的元素发生了变化 假设我有一个表单和一个带有以下内容的按钮click event mybutton click function Here is where is need to
  • 如何从烂番茄上抓取一页以上的评论?

    我一直在使用这个抓取工具来抓取此网址的评论家评论 https www rottentomatoes com m avengers endgame reviews https www rottentomatoes com m avengers
  • java-8 过滤列表而不创建新列表

    我正在寻找使用简单的 lambda 来过滤 Java 8 中的列表的最干净的方法Predicate 无需创建新列表 特别是 该解决方案不合适 因为toList 返回一个新的List List
  • 回滚 Laravel 中的一项特定迁移

    I want 仅回滚 Rolled back 2015 05 15 195423 alter table web directories I run php artisan migrate rollback 我的 3 个迁移正在回滚 Rol
  • PHP Sort 函数用于对对象数组进行排序

    我有一个充满同一类对象的数组 例如 我想通过可选对象字段对该数组进行排序 case gt ID or case gt Sender 是否有内置的 array sort 函数可以执行此操作 或者我必须自己编写此排序函数 答案不必详细解释 这更
  • 沉默的例外,

    我在 64 位中遇到过这个奇怪的静默异常问题 到底是什么原因导致这种行为呢 我想了解为什么会发生这种情况以及推荐的解决方案是什么 消失的 OnLoad 异常 http blog paulbetts org index php 2010 07
  • 如何处理 IncompleteRead: 在 python 中

    我正在尝试从网站获取一些数据 然而它返回了我incomplete read 我试图获取的数据是一组巨大的嵌套链接 我在网上做了一些研究 发现这可能是由于服务器错误 之前的分块传输编码完成 达到预期大小 我还找到了上述问题的解决方法link
  • Nifi:如何使 ListenHTTP 与 SSL 配合使用

    客观的 由于 Nifi 通过 HTTP 与其他工具集成 我必须ListenHTTP处理器面向公众 所有 3 个环境上的 API 网关对我来说太贵了 所以我关闭了所有虚拟机入口端口 除了ListenHTTP 对于外部网络 Issue 我的配置
  • 从终端打开 iPhone 应用程序

    是否可以从终端打开 iPhone 应用程序或 Xcode 项目 我已经尝试过 open path to project app 但这会返回警告并由于启动模拟器时出现图像加载错误而意外退出 有没有人有什么建议 您无法从终端启动 iPhone
  • 缓存图像的 CORS 策略

    在 chrome 22 和 safari 6 中 使用启用 CORS 的 S3 存储桶从 s3 加载图像以在画布中使用 以提取为主要目的 代码如下 img src http s3 bob jpg In the javascript exec
  • 重新访问变量 X 的无效类型(列表),其中 X 是日期类

    今天早些时候 我关注了以下主题并看到了答案 变量 X 的类型 列表 无效 其中 X 是日期类 https stackoverflow com questions 27606380 invalid type list for variable
  • Google Cloud dev_appserver.py 无法在本地托管 Laravel 项目

    我正在运行 Laravel 5 4 项目 并托管在 google cloud 项目下 为了测试相同的内容 我使用了dev appserver py app yaml runtime php55它启动程序但抛出显示的错误 Warning re
  • Parallel.ForEach 内存使用量持续增长

    public string SavePath get set I files public void DownloadList List
  • 如何将matlab中的绘图设置为特定大小?

    一般来说 我希望将相当复杂的 x y 图 大量重叠曲线 绘制为 A3 格式 因此 A4 210x297 A3 A4 2 420 x 297 10mm each side 400 x 277 size of desired plot wind
  • 如何更改 Google 地图标记上的图标

    我想在 Google 地图上使用我的自定义图标 并在代码中添加了图标 url 但它仍然没有反映在地图上 谁能建议一下 我在这里缺少什么 为什么添加图标 url 后图标没有改变 http google maps icons googlecod
  • 减速器中的 React-redux Spread 运算符返回错误“意外令牌”

    我遵循 Dan Abramov 的代码https github com tayiorbeii egghead io redux course notes blob master 08 Reducer Composition with Arr