我正在尝试了解 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) 我正在使用create-react-app创建我的 React 项目样板,但最近启动我的项目npm start太慢,而且最近的热重载速度很慢,在任何更改后重建页面需要 5 - 15 秒,特别是在错误后重建时。
我真的对webpack了解不多,经过一番搜索后,我发现问题可能来自webpack或webpack-dev-server但我对它们了解不多,所以我不知道我应该从哪里解决这个问题问题?
我从文档中得到了这个命令,但我真的不知道如何使用它或者我应该从哪里开始移动,我是 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) 如何检查数组中的所有对象是否包含相同的键和值
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) 我不知道如何设置要支持的最低 Android 版本,创建的 apk 仅适用于新版本的 Android,不适用于旧版本,我是一名 Web 开发人员,以前从未开发过与 Android 相关的任何内容,应该我在 android studio 上安装了与该版本相关的 sdk 平台,或者我的开发文件中需要更改某些配置???
android android-studio ionic-framework capacitor ionic-react
我对 v8 的工作原理以及它如何执行 js 代码感到困惑。
\n据我所知,v8 首先解析代码并创建 AST,然后将此 AST 引入解释器作为输入并生成字节代码,然后将此字节代码引入到 Turbofan 编译器,将中间代码转换为计算机可以理解的机器代码。
\n我正在读一篇文章,这篇文章很好,但事实证明有些东西让我感到困惑
\n\n\n\n
\n- 执行阶段:利用V8引擎\xe2\x80\x99s运行环境的Memory heap和Call Stack来执行字节码
\n
我认为机器代码是被执行的代码,否则为什么我们需要创建该代码,如果字节代码是被执行的代码?
\n我知道这可能是一个经典问题,但我真的无法从任何人那里得到真正的答案,我寻求一个详细的示例或情况来证明 React 解决了一个真正的问题。我理解可重用性、声明式风格的部分,但仍然迷失在 React 网站总是讲述 React “我们构建 React 来解决一个问题:使用随时间变化的数据构建大型应用程序。\xe2\x80\x9d
\nReact Podcast4 上的讨论提到 React\xe2\x80\x94 的创建者 Jordan Walke\xe2\x80\x94 正在解决 Facebook 的一个问题:让多个数据源更新自动完成字段。数据异步来自后端。确定在何处插入新行以重用 DOM 元素变得越来越复杂。Walke 决定每次都重新生成字段表示(DOM 元素)。该解决方案因其简单性而优雅:UI 作为函数。用数据调用它们,您就会得到可预测的渲染视图。
\n这很好,但仍然无法完全消化它,在其创建者心目中创建 React 的真正问题是什么,
\n这到底是什么意思?
\n\n\n“确定在何处插入新行以重用 DOM 元素变得越来越复杂”
\n
我无法完全理解这种情况,任何人都可以用或不用代码向我详细解释这种情况,从多个源异步获取数据并将其附加到 DOM 中的某个元素有什么问题?
\n可能是一个微妙的问题,但我不喜欢它在浏览器中检查元素时的显示方式
有时我需要在反应中使用三元运算符向元素添加一个类,并且当条件返回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)
可以接受吗??还是不好的做法???,有没有好的解决方案?
可能问题很清楚,不需要更多解释,但这是以前素数的例子:
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 ×5
reactjs ×4
android ×1
capacitor ×1
docker ×1
dockerfile ×1
html ×1
ionic-react ×1
jestjs ×1
redux ×1
unit-testing ×1
v8 ×1
webpack ×1
windows-10 ×1