小编Lak*_*kur的帖子

office-ui-fabric / Fluent-ui 分组详细信息列表

今天我尝试使用Fluent-ui 的分组详细信息列表。

我的期望:我需要声明一些组,比如说红色、蓝色、绿色,然后添加到每个项目,我想添加到列表中,这是一个将项目映射到组的特定属性。例如:

groups: [
            { key: 'red', name: 'Color: "red"'},
            { key: 'green', name: 'Color: "green"'},
            { key: 'blue', name: 'Color: "blue"' },
          ],

items: [...,
        { key: 'red',anyProp1: "abc", anyProp2: "dfg",...},
       ...,
      ]
Run Code Online (Sandbox Code Playgroud)

我发现我必须做的事情:我需要对包含我的项目的数组进行排序,属于红色组的所有项目都需要位于一个块中。例如:[红,红,红,蓝,蓝,绿,绿,绿]。现在我需要提供有关 startIndex 和 count 的信息,以将我的项目数组映射到组。

组的定义可能如下所示:

 groups: [
        { key: 'groupred0', name: 'Color: "red"', startIndex: 0, count: 2, level: 0 },
        { key: 'groupgreen2', name: 'Color: "green"', startIndex: 2, count: 0, level: 0 },
        { key: 'groupblue2', name: 'Color: "blue"', startIndex: 2, …
Run Code Online (Sandbox Code Playgroud)

javascript office-ui-fabric office-ui-fabric-react fluent-ui

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

React 中的速度比较:用于列排序的分页表与可滚动表

假设我们有两个表,一个是Paginated,另一个是Scrollable。两者都允许通过单击任何列标题对记录进行排序

假设该表有6 列的5000条记录。当用户单击任何一列进行排序时,我的理解是整个5000条记录都将被排序并且我的表状态将得到更新。

  • 在分页的情况下,由于我只渲染10 条记录/页,渲染速度会很快。
  • 对于 Scrollable 表,由于我要渲染整个5000 条记录,因此渲染速度会很慢。

我有一个项目要提前,它可能涉及大量数据记录,列排序是一个强制性功能。我想验证我对这个用例渲染速度的理解是否正确?

在这两种情况下,我可以了解哪些优化?

跟进:-

如果我无论如何都要进行表格分页,我真的需要反应窗口反应虚拟化吗?

javascript performance pagination reactjs

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

为什么对象和数组构造函数不需要以 new 为前缀来构造对象?

考虑以下片段:-

function Custom(){}

// prints {}
console.log(Object()); 
// prints []
console.log(Array());
// prints undefined
console.log(Custom())
// prints {}
console.log(new Custom());
Run Code Online (Sandbox Code Playgroud)

我知道自定义函数构造函数需要一个new以 bind 为前缀的关键字this。为什么对ArrayandObject构造函数不是必需的?

javascript

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

如何将数组转换为特定格式的对象?

虽然这是一个常见问题,但我找不到任何线索来获得预期的结果。所以问题来了。我有以下数组:

[
    [ 'a' ]
    [ 'a', 'b' ]
    [ 'a', 'c' ]
    [ 'a', 'c', 'd' ]
    [ 'a', 'c', 'd', 'e' ]
]
Run Code Online (Sandbox Code Playgroud)

我想要的最终结果是这样的对象:

{
  a: {
    b: {},
    c: { d: { e: {} } }
  }
}
Run Code Online (Sandbox Code Playgroud)

我不明白哪种方法会更好地获得这个结果以及如何实现它。

javascript node.js reactjs

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

当非承诺引发错误时,为什么 Promise.all 不会拒绝?

根据MDN

Promise.all() 方法将一个可迭代的 promise 作为输入,并返回一个解析为输入 promise 结果数组的单个 Promise。当所有输入的承诺都已解决,或者输入可迭代对象不包含承诺时,此返回的承诺将解决。它在任何输入承诺拒绝或非承诺抛出错误时立即拒绝,并且将拒绝此第一个拒绝消息/错误。

这是一个代码片段,它没有像我预期的那样按照上面的定义捕获错误:-

const promise1 = Promise.resolve(3);
const promise2 = () => {throw new Error('random error')};
const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2(), promise3]).then((values) => {
  console.log(values);
}).catch(e=>console.log('Error caught',e));
Run Code Online (Sandbox Code Playgroud)

我知道如果我将其转换promise2()为返回一个拒绝的Promise,那么它将起作用。但是非承诺线呢?是不正确还是我遗漏了什么?

更新- 我得到了这种行为的答案。只是好奇非承诺根据定义抛出错误的可能情况是什么?

javascript error-handling promise

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

如何计算数组中的项目 - javascript

我正在尝试在 javascript 中计算数组中的数据数,我使用过Object.keys(results.data).length但是当我只有2时结果是12

这是生成库的数据 在此处输入图片说明

我该如何正确计算?

javascript

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