小编Joh*_*abb的帖子

使用React测试库时如何输出当前渲染的组件?

我试图了解某些 DOM 是否从渲染的组件中删除。那么,我如何将当前组件 HTML 输出到 VSCode 控制台,以查看实际呈现的内容。这是我的简单测试。我想做类似的事情:console.log(renderer.<page content>)

import { render, fireEvent, waitForElementToBeRemoved } from '@testing-library/react'


it ('test', async () => {
   const renderer = render(<MyComponent />)

   fireEvent.click(renderer.getByText('Click to Hide'))

   await waitForElementToBeRemoved(() => renderer.getByText('text to hide'))
})
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs

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

如何限制docker-compose中的内存使用?

这是我的 docker-compose.yaml 文件的一部分

version: '3.4'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    working_dir: /app
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 23M
Run Code Online (Sandbox Code Playgroud)

开始吧 docker-compose up -d

当我这样做时,docker stats它说限制仍然是 1.9GiB。我究竟做错了什么?

CONTAINER ID      NAME     CPU %     MEM USAGE / LIMIT     MEM %
13b6588evc1e      app_1    1.86%     20.45MiB / 1.952GiB   1.02%
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose

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

如何使dojo treeGrid按两列分类?

我有一个简单的dojo treeGrid,它只按第一列分类.但是如何使其分类/折叠呢?请注意,treeGrid在每个类别中都显示了总计.此外,有没有办法将总计移至类别级别但不是底部?

var layout = [ 
    { cells: [ 
       [ {field: "year", name: "Year"}, 
         {field: "childItems", 
           children: [ { field: "unid", name: "unid", hidden: true},
                       { field: "geography", name: "Geography"}, 
                       { field: "country", name: "Coungtry"}, 
                       { field: "status", name: "Status"}, 
                       { field: "credit", name: "Credit"}, 
                       { field: "debit", name: "Debit"}
                     ], 
                  aggregate: "sum" 
                  } 
                  ]] } ]

var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});


var grid = new dojox.grid.TreeGrid({ 
    structure: layout, 
    store: jsonStore, 
    query: {type: 'year'}, 
    queryOptions: {deep: true},
    rowSelector: …
Run Code Online (Sandbox Code Playgroud)

javascript dojo json dojox.grid treegrid

9
推荐指数
1
解决办法
250
查看次数

如何使用Reactive表单设置单选按钮值?

这是我的组件类,我尝试将表单单选按钮值设置为1:

import { FormGroup, FormControl } from '@angular/forms';

export class myComponent implements OnInit{
    pageForm: FormGroup;

    ngOnInit() {
        this.pageForm = new FormGroup({
            'gndr': new FormControl(1)
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当加载页面时,"单选按钮"未设置为"男性"且两个选项均为空白:

<div class="form-group">
    <label for="gender">Gender</label>
    <div class="radio">
        <label>
            <input type="radio" name="gndr" formControlName="gndr" value=1>Male
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="gndr" formControlName="gndr" value=0>Female
        </label>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

那么如何从我的组件类加载单选按钮值?

typescript angular2-forms angular

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

什么是云端文档到期字段?

文档到期字段是使用日期时间还是秒或毫秒设置的?据我所知,这是秒:

"expiration": 1543086426,
Run Code Online (Sandbox Code Playgroud)

所以 1543086426 = Saturday, November 24, 2018 7:07:06 PM

那么为什么Cloudant会删除该文档?如果是毫秒,那么:

1543086426 =  Sunday 18 January 1970 12:38:06
Run Code Online (Sandbox Code Playgroud)

这解释了.那么如何为cloudant文档设置合适的到期值,例如在1个月后呢?

此外,哪个Cloudant任务负责删除文档?它开始的频率是多少?

cloudant ibm-cloud

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

什么是Dojo treegrid展开/折叠事件?

我有一个非常大的treeGrid(一个节点中有~2000个元素).当我点击[+]展开它时似乎被冻结了.我想在点击后将鼠标光标状态更改为"等待",但是一旦展开就会改为"默认".假设我可以将它放在onRowClick或onOpen事件中但是什么是onComplete事件我可以重置光标?还有一种方法/属性来查看行是展开还是折叠?我想改变它的风格.

var layout = [
  {
    cells: [
      [
        { field: "userid", name: "User Id" },
        {
          field: "childItems",
          children: [
            { field: "unid", name: "unid" },
            { field: "username", name: "User Name" },
            { field: "budget", name: "Budget" }
          ],
          aggregate: "sum"
        }
      ]
    ]
  }
]

var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});

var grid = new dojox.grid.TreeGrid(
  {
    structure: layout,
    store: jsonStore,
    query: { type: 'userid' },
    queryOptions: { deep: true },
    rowSelector: true,
    openAtLevels: [false],
    autoWidth: …
Run Code Online (Sandbox Code Playgroud)

javascript dojo json treegrid dom-events

6
推荐指数
0
解决办法
182
查看次数

如何在IE的新标签页中显示PDF而不下载它

似乎IE不允许直接打开Blob。您必须使用msSaveOrOpenBlob。但是有什么办法可以转换它。我确实需要在不下载IE的情况下将PDF显示到IE的新选项卡中,或者至少用户不应进行交互,也不要看到将其下载到例如system temp文件夹中。Safai在同一窗口而不是新选项卡中打开它,但是主要问题是IE。使所有浏览器工作类似的主要想法,并在新选项卡中将其打开以进行预览。

let blob = new Blob([response], {
    type: 'application/pdf'
});

if (window.navigator && window.navigator.msSaveOrOpenBlob) {//IE
    window.navigator.msSaveOrOpenBlob(response, "TheDocumentToShow.pdf");
} else {
    var fileURL = URL.createObjectURL(response);
    if (navigator.userAgent.indexOf("Chrome") != -1 || navigator.userAgent.indexOf("Firefox") != -1){
        let win = window.open(fileURL, '_blank');                        
    } else { //Safari & Opera iOS
        window.location.href = fileURL;
    }
}
Run Code Online (Sandbox Code Playgroud)

html javascript cross-browser angular

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

Prometheus summary.observe 方法有什么作用?

我正在尝试使用汇总指标而不是安静地了解我将 summary.observe 调用放在哪里?这是舞会客户端示例(您可以在 npm 上找到):

const client = require('prom-client');
const summary = new client.Summary({
  name: 'metric_name',
  help: 'metric_help'
});
summary.observe(10);
Run Code Online (Sandbox Code Playgroud)

但没有足够的信息如何使用它。

  1. 观察(10)是什么意思?
  2. 我把那个 summary.observe(10) 电话放在哪里?就在摘要指标声明之后或在函数/endoint 调用结束时,例如:

const client = require('prom-client');

const summary = new client.Summary({
  name: 'metric_name',
  help: 'metric_help'
});
summary.observe(10); // do I put it here?

async myFunc(){
    await this.serviceCall();
    summary.observe(10); // or here?
} 
Run Code Online (Sandbox Code Playgroud)

有人有总结观察的好例子/解释吗?

javascript node.js grafana prometheus

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

如何正确模拟多个 useSelector 钩子

我的组件有多个选择器:

import { useSelector } from 'react-redux'
...
const data1 = useSelector(xxxxx)
const data2 = useSelector(yyyyy)
Run Code Online (Sandbox Code Playgroud)

如何正确模拟测试文件中的每个?

import { useSelector } from 'react-redux'
jest.mock('react-redux', () => ({
    useSelector: jest.fn()
}))
....
useSelector.mockImplementation(() => ({
   dataready: true
}))
Run Code Online (Sandbox Code Playgroud)

在这种情况下它真正嘲笑的是哪个选择器?

unit-testing reactjs react-testing-library

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

如何正确回收JavaScript中的缓冲区

这个简单的代码使应用程序崩溃而内存不足:

var buf;
console.log(process.memoryUsage())
for(i=0; i<10000000; i++){
    buf = Buffer.alloc(1024)
    buf.clear
    delete buf
    buf = null
}
console.log(process.memoryUsage())
Run Code Online (Sandbox Code Playgroud)

那么如何正确回收缓冲区以便可以重用呢?不知道清除或删除是否是适当的方法,但是怎么办?谢谢

javascript buffer node.js

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