小编Ame*_*vic的帖子

如何内联解构 Typescript 中对象的嵌套可选属性?

我有以下类型为 User 的代码,该代码具有可选类型Address,我想在一行中对其进行解构。但是,当我尝试时,我收到一条错误消息:

类型“地址|”上不存在属性“街道” 不明确的'

单击此处查看下面提供的代码的 Typescript 游乐场

type User = {
 age: number;
 address?: Address;
}

type Address = {
 street?: string;
}

const user: User = {
 age: 22,
 address: {}
}

const {age, address: {street}} = user
Run Code Online (Sandbox Code Playgroud)

这里的街道在类型上不存在Address | undefined

javascript typescript typescript-typings typescript2.0

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

在React.js中可以有多个<Switch>吗?

我正在构建一个没有Redux的React项目.

我希望有两个,或者在这种情况下有3个不同的开关

当用户登录时,1st Switch将能够在主页(普通网站)和UserPage(仪表板)之间切换......然后每个都将成为切换器,因此Home将在Home组件之间切换,并且UserPage将在UserPage组件.这甚至可能吗?

                        Main Switcher 
     Home Page (Switch)              Dashboard
Home About Contact, Careers     My Profile, Courses, Classes, Donations...
Run Code Online (Sandbox Code Playgroud)

这就是项目的外观和结构.

javascript reactjs react-router react-router-v4

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

为什么 Jest 测试有时会在 CircleCI 上失败?

我有针对 dockerized Neo4j 数据库运行的 Jest 测试,有时它们在 CircleCI 上失败。所有 25 个以上的错误消息是:

thrown: "Exceeded timeout of 5000 ms for a hook.
@*******api:     Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
Run Code Online (Sandbox Code Playgroud)

由于它们有时会失败,例如每 25 次运行一次,我想知道是否jest.setTimeout可以解决该问题。我能够通过设置在本地使它们失败jest.setTimeout(10),但我不确定如何进一步调试它,或者除了小超时(默认 5000)之外是否还有其他问题。如果 1/25 或少数失败,或者所有其他套装都失败,我会理解,但只有一个包含该文件中所有测试的文件失败。而且它始终是同一个文件,因此永远不会是其他文件。

附加信息,在本地,单个文件在连接到临时数据库的时间内运行不到 1000 毫秒,与运行时只有几个文件的 dockerized 相比,这是巨大的

unit-testing docker circleci jestjs ts-jest

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