Apollo 客户端的代码生成器添加| null了生成的类型,我不明白它们为什么在那里以及如何摆脱它们。
我不明白为什么 API 会返回 null 数组,所以我不想每次都检查我的代码是否为 null。
来自 apollo codegen 的违规生成类型:
export interface MusicGenres_musicGenres {
name: string;
}
export interface MusicGenres {
musicGenres: (MusicGenres_musicGenres | null)[];
^^^^^^
WHY ?
}
Run Code Online (Sandbox Code Playgroud)
我的 Graphql 架构:
type Query {
musicGenres: [MusicGenre]!
}
type MusicGenre {
id: ID!
name: String!
}
Run Code Online (Sandbox Code Playgroud)
在我的 TypeScript 代码中查询生成类型:
gql`
query MusicGenres {
musicGenres { name }
}
`
Run Code Online (Sandbox Code Playgroud) 函数接受一个对象,该对象可以是 TypeA 或 TypeB。第一个参数指定对象的类型。返回的类型还取决于第一个参数。
问题:TypeScript 无法推断 case 内(或 if 内)对象的类型。以下代码有错误。
我知道我可以通过明确类型(add as TypeA)来解决这个问题,但我想知道是否有其他解决方案来避免必须进行显式强制转换。
type TypeA = {
input: { foo: string }
output: { foo: number }
}
type TypeB = {
input: { bar: string }
output: { bar: number }
}
type Types = {
TypeA: TypeA
TypeB: TypeB
}
type TypesName = keyof Types
/**
* Takes TypeA or TypeB objects, and the return type is based on the type.
*/
function transform<N extends TypesName>(typeName: N, …Run Code Online (Sandbox Code Playgroud) 我目前在共享服务器上使用Silex框架托管网站,但是我遇到了问题...
Silex就像Synfony,在/ web /子文件夹中有一个app.php文件:然后只能通过URL website.com/web/访问该网站。我无法创建虚拟主机,因为它是共享服务器,因此我认为解决方案是使用.htaccess文件...
我设法自动将website.com重定向到website.com/web/,但是我不太喜欢这个选项;我希望website.com直接指向website.com/web/,但是我不知道如何仅使用htaccess文件来做到这一点。我已经尝试解决这个问题了好几个小时了,这真使我丧命...
目前,我使用此文件:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web/app.php [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但这只是将您从website.com重定向到website.com/web
无论如何,我可以使用htaccess文件使根url直接指向/ web文件夹吗?
非常感谢你 :)
我在PHP 5.4.3中遇到了一个奇怪的错误
var_dump(false OR true); // boolean true // OK
$a = false OR true;
var_dump($a); // boolean false // !!????
$a = true OR false;
var_dump($a); // boolean true // OK
$a = false || true;
var_dump($a); // boolean true // OK
Run Code Online (Sandbox Code Playgroud)
有谁知道第二个结果是怎么出现的??
谢谢 :)