小编Gle*_*mad的帖子

什么是JSON缩进级别约定?

是否存在JSON缩进级别的"标准"约定?应该是2个空格,3个空格,4个空格,制表符分隔,还是别的?

我试图遇到官方的JSON网站,但没有在那里说明.

javascript json

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

双向数据绑定(Angular)与单向数据流(React/Flux)

在上周,我一直试图理解双向数据绑定(Angular)单向数据流(React/Flux)是如何不同的.他们说单向数据流更强大,更容易理解和遵循:它是确定性的,有助于避免副作用.然而,在我的新手眼中,它们看起来几乎相同:视图监听模型,模型对视图所做的操作做出反应.两者都声称模型是真实唯一来源.

任何人都能以可理解的方式全面解释它们之间的真正差异以及单向数据流如何更有益且更容易推理?

javascript flux angularjs reactjs reactjs-flux

21
推荐指数
4
解决办法
5879
查看次数

Angular 1.5+组件可选单向绑定

取自AngularJS 1 文档:

您还可以通过添加?:<?或来使绑定可选<?attr.

对于单向绑定,可选项与非可选项有何不同?

我似乎可以在我的小提琴上找出可选版本的双向(=)和委托(&)绑定的差异:https://jsfiddle.net/glenn/ze2wo0s1/,但不是单向的.

顺便说一下,圣诞快乐!❤️

javascript angularjs angular-components

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

TypeScript:类型别名 vs 基于字符串的枚举

所以,我有:

interface Foo {
  type: FooType;
}
Run Code Online (Sandbox Code Playgroud)

哪一个更适合在FooType这里使用:

输入别名

type FooType = 'BAR' | 'BAZ';
Run Code Online (Sandbox Code Playgroud)

还是基于字符串的枚举

enum FooType {
  BAR = 'BAR',
  BAZ = 'BAZ'
}
Run Code Online (Sandbox Code Playgroud)

两者的优缺点是什么?

typescript

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

角度测试:fakeAsync 块中的 tick 与 flashMicrotasks

据我从阅读Angular 测试文档的理解,调用会tick()刷新块内的(支持的)宏任务和微任务队列fakeAsync。在这种情况下,我认为,在幕后,调用tick()将与进行一些额外的调用+调用相同flushMicrotasks()

\n\n

问题是,有什么情况我应该使用:

\n\n
it(\'should pass\', fakeAsync(() => {\n  // given some setup...\n\n  doSomethingAsynchronous();\n  flushMicrotasks();\n\n  // do some assertions...\n}));\n
Run Code Online (Sandbox Code Playgroud)\n\n

代替

\n\n
it(\'should pass\', fakeAsync(() => {\n  // given some setup...\n\n  doSomethingAsynchronous();\n  tick();\n\n  // do some assertions...\n}));\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x9d\x93

\n

javascript unit-testing asynchronous angular angular-test

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

Nginx:将实际转发的 proxy_pass 请求 URI 记录到上游

我有以下 nginx 配置:

http {

  log_format upstream_logging '[proxied request] '
                              '$server_name$request_uri -> $upstream_addr';
  
  access_log /dev/stdout upstream_logging;

  server {

    listen 80;
    server_name localhost;
    
    location ~ /test/(.*)/foo {
      proxy_pass http://127.0.0.1:3000/$1;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当我击中时:

http://localhost/test/bar/foo
Run Code Online (Sandbox Code Playgroud)

我的实际输出是:

[proxied request] localhost/test/bar/foo -> 127.0.0.1:3000 
Run Code Online (Sandbox Code Playgroud)

虽然我的预期输出是:

[proxied request] localhost/test/bar/foo -> 127.0.0.1:3000/bar
Run Code Online (Sandbox Code Playgroud)

是否有变量或方法可以在日志中生成实际的代理 URI?

server-configuration nginx proxypass server nginx-reverse-proxy

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

TypeScript:类组成

基于MPJ的这段出色的“ 继承中合成”视频,我一直试图在TypeScript中制定合成。我想组成,而不是对象或工厂函数。到目前为止,这是我的努力(在lodash的帮助):

class Barker {
  constructor(private state) {}

  bark() {
    console.log(`Woof, I am ${this.state.name}`);
  }
}

class Driver {
  constructor(private state) {}

  drive() {
    this.state.position = this.state.position + this.state.speed;
  }
}

class Killer {
  constructor(private state) {}

  kill() {
    console.log(`Burn the ${this.state.prey}`);
  }
}

class MurderRobotDog {
  constructor(private state) {
    return _.assignIn(
      {},
      new Killer(state),
      new Driver(state),
      new Barker(state)
    );
  }
}

const metalhead = new MurderRobotDog({ 
  name: 'Metalhead', 
  position: 0, 
  speed: 100, …
Run Code Online (Sandbox Code Playgroud)

javascript class composition typescript ecmascript-7

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

React:在循环和嵌套函数内调用 Hooks 的错误示例

Hooks 的第一条规则是仅在顶层调用 Hooks,即“Don\xe2\x80\x99t 在循环、条件或嵌套函数内调用 Hooks”。该文档通过一个在条件内调用 Hooks 的示例非常清楚地解释了这一点,但不适用于其他两种情况:循环和嵌套函数。

\n\n

是否有在循环和嵌套函数内调用 Hooks 时可能出错的示例?此外,自定义钩子不就是一个嵌套函数吗?

\n\n

不幸的是,此处此处为这两个相关问题提供的答案仅给出了正确的示例。

\n

reactjs react-hooks

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

玩笑:将变量直接放入描述块与 beforeAll 中

我知道在测试之间共享状态是不好的做法,如果可能的话应该避免。但我只是好奇下面这两个结构在 Jest 中有何不同:

描述块

describe('test suite', () => {
  const theAnswer = 42;

  test('a test case', () => {
    expect(theAnswer + 1).toEqual(43);
  });

  test('another test case', () => {
    expect(theAnswer + -1).toEqual(41);
  });
});
Run Code Online (Sandbox Code Playgroud)

全部之前

describe('test suite with beforeAll', () => {
  let theAnswer;
  beforeAll(() => {
    theAnswer = 42;
  });

  test('a test case', () => {
    expect(theAnswer + 1).toEqual(43);
  });

  test('another test case', () => {
    expect(theAnswer + -1).toEqual(41);
  });
});
Run Code Online (Sandbox Code Playgroud)

beforeAll如果我们可以直接在块中声明共享变量/状态,那么使用的意义是什么describe

testing jestjs

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

Redux:(域数据和)应用程序状态与 UI 状态

来自关于基本状态形状的 Redux 文档:

大多数应用程序处理多种类型的数据,大致可以分为三类:

  1. 域数据:应用程序需要显示、使用或修改的数据(例如“从服务器检索到的所有 Todos”)
  2. 应用程序状态:特定于应用程序行为的数据(例如“当前选择了 Todo #5”,或“正在进行获取 Todos 的请求”)
  3. UI 状态:表示 UI 当前显示方式的数据(例如“EditTodo 模式对话框当前处于打开状态”)

域名的数据部分我很清楚,但我还是能隐约的区分应用程序状态UI状态。为 App 状态部分给出的示例:“当前选择了 Todo #5 ”,或“正在进行获取 Todos 的请求”,听起来很像UI 状态。它们如何归类为App 状态,而不是UI 状态

redux

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