小编tor*_*kel的帖子

击中 Docker 容器时对等方重置连接

我遇到了一个问题,我无法将网络请求发送到我创建的 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)

docker

27
推荐指数
3
解决办法
3万
查看次数

在 useRef 中传入 null 和 undefined 的区别

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)

javascript typescript reactjs react-hooks

5
推荐指数
2
解决办法
3320
查看次数

基于条件类型的可选参数

是否可以基于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)

types typescript conditional-types

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