小编Vin*_*ent的帖子

类型不匹配:找到字符串,必需 io.gadling.core.validation.Validation[String]

免责声明:我对 Scala 不太熟悉,所以我可能做了一些愚蠢的事情。

我们使用加特林进行性能测试。我目前正在尝试让它向我们的 API 提交 POST 请求,使用如下内容:

exec(http("post request")
  .post("http://ourApi")
  .body(
      StringBody(
          session => """{ "myContent": "value" }""" // 1
      )
  )
  .asJSON
  .check(status.is(200))
)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我StringBody在标记的行中使用了表达式函数,根据 Ga特林文档,// 1这应该是可能的。

然而,当我尝试运行该程序时,我在该行上收到 ZincCompiler 错误:

type mismatch;
 found   : String("{ \"myContent\": \"value\" }")
 required: io.gatling.core.validation.Validation[String]
Run Code Online (Sandbox Code Playgroud)

为什么它期待 a Validation[String]?在文档中我也只看到字符串......

scala gatling

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

如何为具有默认导出的模块编写类型定义

我想为storybook-router. 它不需要那么准确,因为这是一个次要的开发工具(即anys 是可以接受的),但我什至无法让它工作。

我想代表的是:

import StoryRouter from 'storybook-router';
Run Code Online (Sandbox Code Playgroud)

...在这StoryRouter是该接口匹配功能StoryDecorator@types/storybook__react

我尝试了以下定义文件:

import { StoryDecorator } from '@storybook/react';

declare type StoryRouter = StoryDecorator;

export default StoryRouter;
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会导致以下错误:

TS7016:找不到模块“storybook-router”的声明文件。'/<path snipped>/node_modules/storybook-router/dist/StoryRouter.js' 隐式有一个 'any' 类型。尝试npm install @types/storybook-router它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'storybook-router';

但是,如果我使用最后一个示例 ( declare module 'storybook-router'),我似乎无法弄清楚如何设置默认导出。

表示这种类型的正确方法是什么?

typescript definitelytyped type-definition storybook

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

如何协调 TypeScript 的“strictFunctionTypes”与 React Router 和 Redux?

TypeScript 2.6引入strictFunctionTypes,升级后,我似乎无法让 Redux 和 React Router 相互配合。因此,我想知道如何最好地定义一个组件的类型,该组件既要显示在某个路线上,又要从 Redux 接收道具。

以下是关于我如何设置我的应用程序。有这样一条路线:

<Route path="/some/path/with/:parameter" component={ConnectedComponent}/>
Run Code Online (Sandbox Code Playgroud)

然后我想要显示的组件从 Redux 和 React Router 接收 props,我试图在以下类型签名中捕获它们:

class BareComponent extends React.Component<ReduxProps & RouteProps, ArbitraryState>
Run Code Online (Sandbox Code Playgroud)

...其中 Redux 道具的定义类似于以下内容:

interface StateProps { storeProperty: string; }
interface DispatchProps { dispatchCallback: () => void; }
type ReduxProps = StateProps & DispatchProps;
Run Code Online (Sandbox Code Playgroud)

...和路由器道具有点像以下:

interface RouteParams { parameter: string }
type RouteProps = RouteComponentProps<RouteParams>;
Run Code Online (Sandbox Code Playgroud)

RouteComponentProps从哪里进口react-router-dom

传递给路由器的组件(通过Route上面第一个代码示例中的)创建如下:

const ConnectedComponent = connect<StateProps, DispatchProps, RouteProps, ArbitraryStateInterface>(mapStateToProps)(BareComponent);
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用 …

typescript definitelytyped react-router redux react-router-redux

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

如何使用 TerraForm 升级 RDS 实例的 PostgreSQL 版本?

我当前的 RDS 实例运行的是 PostgreSQL 9.6.3 版,但我想将其升级到 10.1 版。但是,当我在 TerraForm 配置中设置新版本号并设置allow_major_version_upgrade为 true 时,我遇到了以下错误:

Error: Error applying plan:

1 error(s) occurred:

* aws_db_instance.db_instance: 1 error(s) occurred:

* aws_db_instance.db_instance: Error modifying DB Instance db-example: InvalidParameterCombination: Cannot find upgrade path from 9.6.3 to 10.1.
  status code: 400, request id: <id>
Run Code Online (Sandbox Code Playgroud)

事实上,当我将 9.6.4 设置为新版本号时,我收到了类似的错误消息 - 这已经很令人困惑了,因为auto_minor_version_upgrade也设置为 true,但实例仍然在 9.6.3。

正如您所看到的,我仍然需要掌握很多 RDS 和 PostgreSQL,因此也非常欢迎任何可以帮助我理解问题的背景信息。


编辑:

设置完毕后只是 allow_major_version_upgrade为true,而不真正修改导致该错误的版本:

* aws_db_instance.db_instance: Error modifying DB Instance db-example: InvalidParameterCombination: No modifications were requested
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-rds terraform

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

如何破坏 Docker 容器内的所有内容并开始一个新容器?

(我显然还没有完全掌握 Docker 的概念,所以当我错误/不准确地使用术语时请纠正我。)

我的存储空间快用完了,所以我跑去docker system prune清理一下我的系统。然而,在那之后不久(也许是立即),我在容器中启动 Webpack 开发服务器后开始遇到分段错误。我现在的猜测是,这是由于一些 npm 包必须重建,但由于一些旧的文物仍然存在,所以没有这样做?如果我在容器外部运行 Webpack 开发服务器,我不会遇到分段错误:

web_1       | [2] Project is running at http://0.0.0.0:8000/
web_1       | [2] webpack output is served from /
web_1       | [2] 404s will fallback to /index.html
web_1       | [2] Segmentation fault (core dumped)
web_1       | [2] error Command failed with exit code 139.
Run Code Online (Sandbox Code Playgroud)

因此,我想知道是否docker system prune真的删除了与我之前运行的 Docker 映像相关的所有内容,或者是否可以进行一些额外的清理。

我的 Dockerfile 如下,其中./stacks/frontend是运行 Webpack 开发服务器的目录(通过yarn start):

FROM node:6-alpine
LABEL Name="Flockademic dev environment" \ …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose webpack-dev-server yarnpkg

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

如何获取套接字的主机名?

当我从连接的套接字接收到某个事件时,我必须发送一个请求,并将我的主机名和端口作为参数。我希望能够从套接字对象中检索此信息。不幸的是,关于此的文档很少,我似乎无法确定这是否以及如何实现。

那么,是否可以在 Socket.io 中做这样的事情:

io.sockets.on('connection', function(socket){
    console.log(socket.manager.server.hostname)
})'
Run Code Online (Sandbox Code Playgroud)

(或者,或者:我认为在第一种情况下这应该是可能的,我在这里犯了什么思维错误?)

node.js socket.io

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

如何在渲染上为React组件设置动画?

我试图动画一个包含从其他地方获取的数据的React组件.把它放在ReactCSSTransitionGroup工作正常.也就是说,直到我改变组件的render()方法返回,false直到获取数据为止(以防止它在没有数据的情况下呈现).

现在,我想组件是立即挂载的,此时添加了动画类,但之后只进行了渲染.这个想法是否正确?render返回实际组件时,如何让组件动画化?

reactjs reactcsstransitiongroup

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

如何使用预签名 URL 调试 S3 上传?

不久前,我实现了一个 PDF 上传功能,其中我的前端调用我的后端,它调用getSignedUrl()Amazon 的 JavaScript SDK 来获取前端应该能够使用PUT请求上传文件的 URL 。

这已经工作了一段时间了,今天,我尝试实现类似的功能来上传图像(到不同的 S3 存储桶)。不幸的是,虽然它看起来设置相同,但PUT上传结果

<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <RequestId><!-- A request ID --></RequestId>
    <HostId><!-- A host ID --></HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)

这并不是很有帮助,所以现在我正在尝试找出最好的调试方法。

我检查过的:

  • 桶存在
  • 存储桶的 CORS 配置与上传工作的存储桶的 CORS 配置相同
  • 桶策略和工作桶一样,只是它所s3::GetObject在的资源是指这个新的桶
  • 访问控制列表是一样的
  • 它位于正确的区域
  • 预签名 URL 看起来与工作 URL 相同
  • 我的浏览器为失败和工作PUT请求发送相同的 HTTP 标头
  • OPTIONS首先发送的请求也是如此

我还能检查什么?

amazon-s3 amazon-web-services aws-sdk

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

Lerna 在发布新版本时是否会改变依赖版本?

packageA如果我有一个带有和的 monorepo packageB,后者依赖于前者。例如,如果我然后运行lerna version major​​,导致的版本号被碰撞,那么 'packageA中对其依赖项的列表是否也会自动碰撞,还是应该手动完成?packageBpackage.json

(我尝试设置一个测试存储库来执行此操作,但后来 Lerna 抱怨它还没有遥控器,所以我希望有使用 Lerna 经验的人知道答案。)

npm lerna

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

如何键入一个接受另一个组件作为道具的 React 组件,以及该组件的所有道具?

我有一个<Wrapper>可以按如下方式使用的 React 组件:

// Assuming Link is a component that takes a `to` prop: <Link to="/somewhere">label</Link>
<Wrapped as={Link} to="/somewhere">label</Wrapped>
Run Code Online (Sandbox Code Playgroud)

如果没有as传递 prop,它将假定一个<a>. 但是如果一个组件被传递给as,那么对该组件有效的所有道具现在也应该是 的有效道具Wrapped

有没有办法在 TypeScript 中输入这个?我目前正在考虑以下方面:

type Props<El extends JSX.Element = React.ReactHTMLElement<HTMLAnchorElement>> = { as: El } & React.ComponentProps<El>;
const Wrapped: React.FC<Props> = (props) => /* ... */;
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这里是否JSX.Element和/或是React.ComponentProps相关类型,并且无法编译,因为El无法传递给ComponentProps. 正确的类型是什么,这样的事情甚至可能吗?

emotion typescript reactjs

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