小编Ric*_*ick的帖子

为什么说"HTTP是无状态协议"?

HTTP有HTTP Cookie.Cookie允许服务器跟踪用户状态,连接数,最后连接数等.

HTTP具有持久连接(Keep-Alive),其中可以从同一TCP连接发送多个请求.

http stateless

159
推荐指数
7
解决办法
15万
查看次数

是否可以在文字而不是接口上使用`keyof`运算符?

我有一个对象文字,如下所示(所有属性在编译时都是已知的):

const foo = {
  "hello": "hola"
};
Run Code Online (Sandbox Code Playgroud)

如果foo是界面而不是变量,我可以很容易地做类似的事情

/** THEORETICAL ONLY - Does not compile! */
function translate(input: keyof foo): string {
  return foo[input];
}
Run Code Online (Sandbox Code Playgroud)

但是,使用变量这样做不起作用,因为编译器找不到具有该名称的接口foo.

Typescript是否支持keyof对在编译时已知其值的对象文字的操作?

typescript

40
推荐指数
2
解决办法
7822
查看次数

当我使用<a>标签跟踪路线时,React-Router是刷新页面

我正在构建一个具有指向预定义路由的链接的React应用程序.

<a href="/my/react/route/">Click Here</a>
Run Code Online (Sandbox Code Playgroud)

路由解析正常,但它刷新了页面,从而降低了应用程序性能.如何避免重新渲染整个页面?

javascript reactjs react-router

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

Rails是否带有"未授权"的例外?

我正在编写一个使用普通旧Ruby对象(PO​​RO)从控制器中抽象出授权逻辑的应用程序.

目前,我有调用自定义异常类NotAuthorized,我rescue_from在控制器级别,但我很好奇,想知道:是否导轨4已经配备了一个例外,表明一个动作没有被授权?我是通过实施这个例外来重新发明轮子的吗?

澄清:raise AuthorizationException控制器内部没有发生任何事情,它发生在控制器外部完全分离的PORO内部.该对象不了解HTTP,路由或控制器.

ruby ruby-on-rails actioncontroller

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

Typescript Typings工具中的"Ambient Typings"是什么?

我听说用来描述下载的类型定义的术语"环境" 分型工具.那是什么意思呢?

我似乎无法找到它或--ambient旗帜的简单定义.

typescript

32
推荐指数
2
解决办法
6301
查看次数

为什么人们把{""}放在他们的React/JSX中?

我在一些React文档以及截屏视频中都有这个.人们会{ " " }在他们的JSX模板中写.

他们为什么这样做呢?看起来他们正在使用它作为换行符的替代品,但我没有看到任何地方明确解释过.

jsx reactjs

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

Typescript是否支持"子集类型"?

假设我有一个界面:

interface IUser {
  email: string;
  id: number;
  phone: string;
};
Run Code Online (Sandbox Code Playgroud)

然后我有一个期望该类型的子集(或完全匹配)的函数.也许它会通过一个完整的物体,使它只会传入{email: "t@g.com"}.我希望类型检查器允许两者.

例:

function updateUser(user: IUser) {
  // Update a "subset" of user attributes:
  $http.put("/users/update", user);
}
Run Code Online (Sandbox Code Playgroud)

Typescript是否支持这种行为呢?我觉得它非常有用,特别是像Redux这样的范例.

澄清一下,目标是:

  1. 避免重写接口并手动将所有属性设置为可选.
  2. 避免分配意外的属性(例如拼写错误).
  3. 避免使用命令逻辑,例如if语句,这会失去编译时类型检查的好处.

更新: Typescript宣布支持映射类型,一旦发布就应该解决这个问题.

interface typescript

16
推荐指数
4
解决办法
6506
查看次数

Jest,Typescript,ts-jest:覆盖范围略有不正确

我正在使用TypeScript,Jest和ts-jestNPM模块来编写项目.

当我运行我的测试时,我确实获得了一些覆盖率,但HTML报告并不完全正确:

代码覆盖问题

此外,一些功能被标记为未经测试,即使它们当然被调用.

我的package.json设置如下:

{
    "jest": {
    "transform": {
      ".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "testResultsProcessor": "<rootDir>/node_modules/ts-jest/coverageprocessor.js",
    "collectCoverage": true,
    "collectCoverageFrom": [
      "src/**/*.{ts,tsx}"
    ],
    "coverageReporters": [
      "html",
      "json"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我的配置有问题吗?

node.js typescript jestjs

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

在Rails项目中安装react-redux

我正在Rails中构建一个React应用程序并想尝试react-redux.我注意到它没有提供CDN或凉亭包.

安装说明建议使用NPM,但这不是节点项目.我通过Rails资产管道,CDN或bower包处理所有当前资产(通过rails-assets)

  • 有没有办法在不使用NPM的情况下安装它?
  • 有没有办法让NPM包与现有的资产管道包很好地结合使用?

ruby-on-rails asset-pipeline reactjs redux

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

在 `data:` URI 中转义 SVG 的正确方法?

Chrome 最近开始阻止带有换行符和<字符的 URL 。

\n\n

我维护的应用程序严重依赖数据 URI ( data:image/svg+xml;utf8,<svg>......) 中的 SVG 图像。使用 URI 而不是传统图像或 SVG 标签的原因data:是,SVG 是在运行时从较大 JSON 文档中的 SVG 属性加载的。

\n\n

data:Chrome 60 中发生此更改后,是否可以在 URL 中使用 SVG ?如果没有,我有什么选择?

\n\n

更新:用户 \xc3\x81lvaro Gonz\xc3\xa1lez 建议使用encodeURIComponent,这确实使弃用警告消失。

\n

javascript svg google-chrome

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