小编Cod*_*gle的帖子

在每次测试之前手动修改initialState并将其传递给商店?

我正在尝试了解 React 和 Redux 测试的过程,我正在使用测试库来使用dom 节点查询来测试我的项目,但我仍然对在 React 项目中测试 Redux 实现的方式感到困惑:

我创建了一个自定义渲染函数,而不是反应测试库中的普通渲染方法

import React from 'react'
import { render as rtlRender } from '@testing-library/react'
import { Provider } from 'react-redux'
import configureMockStore from 'redux-mock-store'
import thunk from 'redux-thunk'
const middlewares = [thunk]
const mockStore = configureMockStore(middlewares);

//test-utils.js
//creating a custom render function so we can wrap our App with
//react-redux provider
const render = (ui, initialState) => {
  const store = mockStore(initialState);
  //App wrapper and mocked store passed to …
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs jestjs redux react-testing-library

7
推荐指数
1
解决办法
2976
查看次数

反应脚本启动 - 热重载太慢?

我正在使用create-react-app创建我的 React 项目样板,但最近启动我的项目npm start太慢,而且最近的热重载速度很慢,在任何更改后重建页面需要 5 - 15 秒,特别是在错误后重建时。

我真的对webpack了解不多,经过一番搜索后,我发现问题可能来自webpackwebpack-dev-server但我对它们了解不多,所以我不知道我应该从哪里解决这个问题问题?

reactjs webpack

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

如何在 docker 中启用/禁用 buildkit?

我从文档中得到了这个命令,但我真的不知道如何使用它或者我应该从哪里开始移动,我是 docker 的新手,而且概念对我来说仍然难以消化:

$ DOCKER_BUILDKIT=1 docker build .
Run Code Online (Sandbox Code Playgroud)

如何使用此命令在 docker 引擎中启用/禁用 buildkit?

我想禁用它,因为我知道默认情况下它是启用的,我怀疑它是因为我无法通过 docker 构建任何东西,因为我总是遇到这个错误

failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount847288160/Dockerfile: no such file or directory
Run Code Online (Sandbox Code Playgroud)

docker windows-10 dockerfile

6
推荐指数
2
解决办法
3613
查看次数

如何检查数组中的所有对象是否包含相同的键和值?

如何检查数组中的所有对象是否包含相同的键和值

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2}, {a:1, b: 2 }] // true

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2}, {a:2, b: 1 }] //false

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2, c: 3}, {a:2, b: 1 }] //false
Run Code Online (Sandbox Code Playgroud)

这是我的试验,看起来非常丑陋和糟糕,而且不起作用,如果有人为该问题提供有效的代码,我将不胜感激!

function test(arr){

   const firstItem = arr[0];
   const firstItemKeys = Object.keys(firstItem);

   for(let i = 0; i < firstItemKeys.length; i++) {
      for(let j = 0; j < arr.length; j++) …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在离子+反应+电容器项目中设置最低Android版本支持?

我不知道如何设置要支持的最低 Android 版本,创建的 apk 仅适用于新版本的 Android,不适用于旧版本,我是一名 Web 开发人员,以前从未开发过与 Android 相关的任何内容,应该我在 android studio 上安装了与该版本相关的 sdk 平台,或者我的开发文件中需要更改某些配置???

android android-studio ionic-framework capacitor ionic-react

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

V8 执行解释器生成的字节代码还是涡轮风扇编译器生成的二进制代码?

我对 v8 的工作原理以及它如何执行 js 代码感到困惑。

\n

据我所知,v8 首先解析代码并创建 AST,然后将此 AST 引入解释器作为输入并生成字节代码,然后将此字节代码引入到 Turbofan 编译器,将中间代码转换为计算机可以理解的机器代码。

\n

我正在读一篇文章,这篇文章很好,但事实证明有些东西让我感到困惑

\n
\n
    \n
  1. 执行阶段:利用V8引擎\xe2\x80\x99s运行环境的Memory heap和Call Stack来执行字节码
  2. \n
\n
\n

我认为机器代码是被执行的代码,否则为什么我们需要创建该代码,如果字节代码是被执行的代码?

\n

javascript google-chrome v8

3
推荐指数
1
解决办法
1767
查看次数

React真正解决的问题是什么?

我知道这可能是一个经典问题,但我真的无法从任何人那里得到真正的答案,我寻求一个详细的示例或情况来证明 React 解决了一个真正的问题。我理解可重用性、声明式风格的部分,但仍然迷失在 React 网站总是讲述 React “我们构建 React 来解决一个问题:使用随时间变化的数据构建大型应用程序。\xe2\x80\x9d

\n

React Podcast4 上的讨论提到 React\xe2\x80\x94 的创建者 Jordan Walke\xe2\x80\x94 正在解决 Facebook 的一个问题:让多个数据源更新自动完成字段。数据异步来自后端。确定在何处插入新行以重用 DOM 元素变得越来越复杂。Walke 决定每次都重新生成字段表示(DOM 元素)。该解决方案因其简单性而优雅:UI 作为函数。用数据调用它们,您就会得到可预测的渲染视图。

\n

这很好,但仍然无法完全消化它,在其创建者心目中创建 React 的真正问题是什么,

\n

这到底是什么意思?

\n
\n

“确定在何处插入新行以重用 DOM 元素变得越来越复杂”

\n
\n

我无法完全理解这种情况,任何人都可以用或不用代码向我详细解释这种情况,从多个源异步获取数据并将其附加到 DOM 中的某个元素有什么问题?

\n

javascript reactjs

2
推荐指数
1
解决办法
257
查看次数

React 中的条件类名?

可能是一个微妙的问题,但我不喜欢它在浏览器中检查元素时的显示方式

有时我需要在反应中使用三元运算符向元素添加一个类,并且当条件返回false时可能会留下一些空间

例如:

<div className={`container ${some condition ? 'bg-green' : ''}`}
Run Code Online (Sandbox Code Playgroud)

当条件是true,类被添加到div,但是当它是false,则检查当在元件中所示的丑陋空间

<div class="container  "> 
Run Code Online (Sandbox Code Playgroud)

可以接受吗??还是不好的做法???,有没有好的解决方案?

html javascript reactjs

0
推荐指数
1
解决办法
177
查看次数

如何找到以前的素数?

可能问题很清楚,不需要更多解释,但这是以前素数的例子:

The previous prime of 19 is ===> 17
The previous prime of 211 is===> 199
Run Code Online (Sandbox Code Playgroud)

我失败的审判

const getPreviousPrime = (number) => {
    for(let i = number - 1; i >= 2; i--) {
       for(let j = 2; j <= Math.sqrt(i); j++ ) {
          if(i % j === 0) break
          return i
      }

    }
}
Run Code Online (Sandbox Code Playgroud)

javascript

-1
推荐指数
1
解决办法
209
查看次数