我遇到了一个问题,我无法将网络请求发送到我创建的 Docker 容器。我已经公开了正确的端口,所以我不确定这里可能有哪些其他问题。
我有一个在容器alice中运行的服务器localhost:10009:
$ docker exec -it alice bash
bash-4.4# curl localhost:10009
curl: (52) Empty reply from server
Run Code Online (Sandbox Code Playgroud)
端口 10009 从我的容器中公开:
$ docker port alice
10009/tcp -> 0.0.0.0:10009
Run Code Online (Sandbox Code Playgroud)
在curl我的主机上执行相同操作时,我收到一条不同的消息:
$ curl localhost:10009
curl: (56) Recv failure: Connection reset by peer
Run Code Online (Sandbox Code Playgroud) useRef(null)和useRef(undefined)(或只是useRef())有什么区别?
在 TypeScript 中,结果以不同的类型结束:
const undefinedRef: React.MutableRefObject<undefined> = useRef(undefined)
conse noArgRef: React.MutableRefObject<undefined> = useRef()
const nullRef: React.MutableRefObject<null> = useRef(null)
Run Code Online (Sandbox Code Playgroud)
当将 ref 传递给另一个元素时,这也会产生进一步的后果:
const nullRef = useRef(null)
<div ref={nullRef} /> // this works
const undefinedRef = useRef()
<div ref={undefinedRef} /> // compiler failure!
/*
Type 'MutableRefObject<undefined>' is not assignable to type 'string | ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined'.
Type 'MutableRefObject<undefined>' is not assignable to type 'RefObject<HTMLDivElement>'.
Types of property …Run Code Online (Sandbox Code Playgroud) 是否可以基于TypeScript中的条件类型使函数具有强制性参数或可选参数?
到目前为止,这是我得到的:
const foo = <T extends string | number>(
first: T,
second: T extends string ? boolean : undefined
) => undefined;
foo('foo', true); // ok, as intended
foo(2, true); // not ok, as intended
foo(2, undefined); // ok, as intended
foo(2); // compiler error! I want this to be ok
Run Code Online (Sandbox Code Playgroud)