小编Vis*_*ati的帖子

React.js:如何获得所有 props 组件期望?

我开始对 React.js 应用程序进行单元测试,我面临的挑战之一是确定组件正确安装它所需的所有道具。是否有任何实用程序可以检查成功安装组件所需的一切?此外,这些道具的数据类型可以为组件渲染适当地初始化它们。

就像我的一个组件是使用扩展{...props}运算符从父级获取道具一样。并且父级也使用扩展运算符获取这些,然后添加一些额外的道具并将其传递给子级。这使我很难获得组件期望的所有道具。有没有合法的方法来获取道具列表?

reactjs jestjs redux enzyme react-redux

6
推荐指数
1
解决办法
2077
查看次数

在选项卡/浏览器关闭时清除 localStorage 但在刷新时不清除

有没有办法检测选项卡关闭事件以清除localStorage. 我需要localStorage跨标签共享数据。window.onbeforeunload事件工作正常,但对我来说有两个问题:

  1. 它也会在我不想要的页面刷新时触发。
  2. 我不需要选项卡关闭时的确认框。

就像当窗口关闭时一样sessionStorage被清除。同时我可以清除localStorage但不知道要绑定什么事件。我检查了一些已经可用的问题,但似乎没有一个可以解决这个问题,有一些解决方法是通过使用标志来点击链接和表单提交,但不是一种干净的方法。请为此提出任何解决方案。

html javascript window angularjs

5
推荐指数
2
解决办法
4万
查看次数

ReactJS:未测试文件的 Jest 覆盖率报告显示 0% 覆盖率

我尝试使用 jest 测试我的 React 应用程序的未经测试的源 js 文件的代码覆盖率,但震惊地发现它对所有文件的代码覆盖率大多为 0%。component.js使用 Jest测试React 文件的代码覆盖率是否可以,或者我在这里做错了什么。

这是我在 package.json 中指定的 jest 配置:

  "jest": {
    "testEnvironment": "node",
    "collectCoverageFrom" : ["**/src/**/*.js"]
  }
Run Code Online (Sandbox Code Playgroud)

我的覆盖率快照:

覆盖率报告

我不相信 0% 的代码语句正在为所有文件执行。我在这里缺少什么吗?这个报告适用于 es6 应用程序吗?我什至通过弹出 webpack 测试了使用 react cli create-react-app 创建的 react 样板应用程序的代码覆盖率。甚至样板应用程序也将未经测试的 js 文件的代码覆盖率显示为 0%。这是 100% 错误的。对这个结果有什么想法吗?

unit-testing code-coverage istanbul reactjs jestjs

5
推荐指数
1
解决办法
1220
查看次数

ReactJS:IE11没有使用缓存数据发出新的HTTP请求

我在我的React应用程序IE11中遇到的问题是UI没有为每个新请求命中后端服务并从缓存数据返回响应.该应用程序在Chrome上正常运行.

在IE的情况下,服务以代码结束:304而不是200. PFB请求标头:

Accept  application/json,*/*
Request GET /services/v0/search/?uid=12900 HTTP/1.1
Content-Type    application/json
Cache-Control   no-cache
Run Code Online (Sandbox Code Playgroud)

PFB获取的响应头IE:

Response    HTTP/1.1 304 Not Modified
x-frame-options DENY
x-xss-protection    1; mode=block
x-content-type-options  nosniff
Run Code Online (Sandbox Code Playgroud)

任何线索,IE渲染这种行为背后的原因是什么?TIA

internet-explorer http cache-control internet-explorer-11 reactjs

5
推荐指数
1
解决办法
9670
查看次数

如何使用grunt-run执行npm脚本?

我在package.json文件中有一个npm任务,如下所示执行jest测试:

  "scripts": {
    "test-jest": "jest",
    "jest-coverage": "jest --coverage"
  },
  "jest": {
    "testEnvironment": "jsdom"
  },
Run Code Online (Sandbox Code Playgroud)

我想npm run test-jest用grunt 执行这个任务.我为此安装了grunt-run并添加了运行任务,但是如何在那里调用这个npm任务呢?

    run: {
        options: {
          // Task-specific options go here.
        },
        your_target: {
          cmd: 'node'
        }
      }
Run Code Online (Sandbox Code Playgroud)

node.js npm gruntjs reactjs jestjs

5
推荐指数
1
解决办法
5988
查看次数

React Router v4 - 在应用程序内重新加载页面时重定向到主页

当用户刷新我的应用程序中的其他页面时,我需要重定向到主页。我正在使用React routerv4 和redux. 由于商店在重新加载时丢失,用户重新加载的页面现在是空的,因此我想将他带回不需要任何先前存储数据的页面。我不想在localStorage.

我试图在事件中处理此问题,onload但没有奏效:

window.onload = function() {
    window.location.path = '/aaaa/' + getCurrentConfig();
};
Run Code Online (Sandbox Code Playgroud)

reactjs react-router redux react-redux react-router-v4

5
推荐指数
2
解决办法
2万
查看次数

Vue 路由器中的精确路径匹配?

我正在开发一个 Vue 应用程序,想要为默认路由设置精确的路径匹配。我有 React 和 Angular 的经验,并且都提供了选项exactpathMatch:'full'因此默认路由只有在完全匹配时才会生效。

在 vue 中,当我刷新应用程序时,默认路由将被触发并将用户带回首页。有没有办法在 Vue 中做类似的事情?

  routes: [
    {
      path: "/",
      name: "home",
      component: Home
      // how can I add exact match config here?
    },
    {
      path: "/login",
      name: "login",
      component: () =>
        import(/* webpackChunkName: "about" */ "./views/Login.vue")
    },
    {
      path: "/charts",
      name: "charts",
      component: () =>
        import(/* webpackChunkName: "about" */ "./views/ChartDemo.vue")
    }
  ]
Run Code Online (Sandbox Code Playgroud)

vue.js vue-router vuejs2

5
推荐指数
1
解决办法
1万
查看次数

html 中的 Jest 覆盖率报告缺失覆盖率值

我正在使用 Jest 对我的 ReactJS 应用程序进行单元测试,并添加了配置以获取代码覆盖率。覆盖率在 cli 上运行良好,但是当我尝试将覆盖率报告导出为 html 时,报告中未显示与每个文件对应的值。这是我的 jest.config.json:

{
    "roots": [
        "test"
    ], 
    "collectCoverage": true,
    "coverageReporters": ["text","html"],
    "coverageDirectory": "<rootDir>/coverage/"
}
Run Code Online (Sandbox Code Playgroud)

这是我在 index.html 文件中的coverage文件夹中生成的报告:

在此处输入图片说明

可以看出,数字丢失了。当文本报告也显示正确的值时,可能是什么原因。它只发生在 html 报告中。

unit-testing code-coverage reactjs jestjs

5
推荐指数
1
解决办法
1582
查看次数

使用 React.js 实现 Partytown

我试图在 React 应用程序中实现 partytown,但 partytown 文档不清楚,我无法找到用于 partytown 实现的良好资源。请通过一个很好的例子来指导如何在 React 中实现 partytown。另外,有什么方法可以检查 partytown 是否已实施

google-analytics google-tag-manager reactjs partytown

5
推荐指数
1
解决办法
2287
查看次数

angular http 请求同时发送两次

我用的是angluar4 http,比如登录请求服务器,当我点击按钮提交表单时,谷歌浏览器的网络捕获了两个请求,其中一个是zone.js: 2744(返回数据错误)。

为什么有两次?

我的代码参考在这里?https://angular.cn/tutorial/toh-pt6

1 全部 2 第一的 3 第二

http zone.js angular

4
推荐指数
1
解决办法
1694
查看次数