jinliming2 最近的时间轴更新
jinliming2

jinliming2

V2EX 第 382329 号会员,加入于 2019-02-07 12:10:33 +08:00
今日活跃度排名 19855
4 G 70 S 92 B
回复主题而被 ban ip
Chamber  •  jinliming2  •  2022-03-06 00:58:51 AM  •  最后回复来自 jinliming2
1
朋友发我一个装机配置,大佬们帮忙看看有啥问题
  •  1   
    硬件  •  jinliming2  •  2021-03-04 16:40:42 PM  •  最后回复来自 balloonreddit
    9
    Chrome 终于走出这一步了……
    Chrome  •  jinliming2  •  2020-06-20 18:08:56 PM  •  最后回复来自 96412hj
    87
    关于 Nginx 配置 HTTP 跳转非 443 端口 HTTPS 的问题
    NGINX  •  jinliming2  •  54 天前  •  最后回复来自 jinliming2
    13
    关于 DNS 根据用户 IP 进行解析优化的问题
    DNS  •  jinliming2  •  2019-09-10 17:15:32 PM  •  最后回复来自 mytsing520
    13
    Siri 的英语
    iPhone  •  jinliming2  •  2019-08-05 12:33:45 PM  •  最后回复来自 zhaishunqi
    9
    万达电影 iOS APP 添加到 Wallet 功能挂了?
    全球工单系统  •  jinliming2  •  2019-06-16 00:22:09 AM  •  最后回复来自 cnryan
    1
    插上网线后要过一会才会有反应
    Linux  •  jinliming2  •  2019-09-13 07:15:31 AM  •  最后回复来自 jinliming2
    16
    WSL2 是基于 Hyper-V 的,瞬间无爱了……
  •  1   
    Linux  •  jinliming2  •  2020-09-24 17:44:31 PM  •  最后回复来自 ygqygq2
    86
    请教 Golang HTTP 的 Shutdown 函数
    Go 编程语言  •  jinliming2  •  2019-04-30 21:51:48 PM  •  最后回复来自 jinliming2
    3
    jinliming2 最近回复了
    子组件获取祖先组件的数据,这个逻辑没有问题,props/context 往下传都行。子组件存在的前提肯定是所有祖先组件都挂载存在了。
    但是祖先组件获取子组件的数据、兄弟组件之间获取数据,这个有一个问题是,你要获取数据的那个组件可能不存在。
    而你现在这个问题,综合了获取兄弟组件、子组件数据的情况。
    你提到了“按照以往非组件化的思路应该是直接获取到这个 grid 对象,在调用对应的 getValue 方法就可以了”,这个在 React 中对应的就是 ref ,ref 上暴露 getValue 方法就是你说的这个了。函数组件没有对象实例可以用 React 提供的 forwardRef 。但是你也得要考虑一个事情是,这个实例引用变量存放在哪里,怎么去获取。因为这个 ref 的持有人默认只有挂载这个子组件的那个父组件,你又得要想办法把这个 ref 传给祖先、兄弟。
    所以,这个 ref 的最佳存放位置就是共同祖先上,然后通过 context 往下传。但既然到了共同祖先这一步,那么就不要存 ref 了嘛,直接存数据就好?这就是楼上提到的数据存在共同祖先上,然后下面用 context 来读写数据。
    祖先上不管是存数据还是存 ref 都是有自己的实际场景的。如果要调用对应组件的 API ,就还是得存 ref 。
    然后另一个方案,全局状态,这个实际上也是把数据存在祖先上,只不过是存在根祖先上,子孙组件通过封装过的 context 读写数据。

    不管是用全局状态还是自己写 context ,本质上都是数据存在祖先上,你在读取的时候不需要关心目标组件是否已经挂载存在,没挂载存在的话,你读到的就是个默认值。

    或者楼上也有提到全局的通知广播,但这个一旦滥用就不好控制了。React 18 里有个 API ,useSyncExternalStore ,实际上也可以实现跨组件的共享,因为本质上数据是脱离 React 存在的,一个 store 实例,一个组件更新,一个组件监听,相当于一个小型的受限的广播系统,会比全局的广播好一些。
    15 天前
    回复了 JaxHome 创建的主题 Python 怎么便捷的运行写好的 py 文件
    windows 的话,桌面上新建个快捷方式,路径填写 python 脚本路径,然后快捷方式右键属性能设置快捷键
    20 天前
    回复了 Asuler 创建的主题 React 请教一个 react hook 的问题
    不知道你的 aHandle 和 bHandle 的具体逻辑,不过仅目前的这段代码的逻辑来说,按照我的思路,我会把 aHandle 和 bHandle 直接写成 useEffect 。
    useEffect(() => {
    if (type !== aaa) return;
    // aHandle 的函数体,直接处理,而不是调函数
    }, [type]);
    useEffect(() => {
    if (type !== bbb) return;
    // bHandle 的函数体,如果要异步处理,就立即执行包一下
    let cancel = false;
    (async () => {
    await xxx;
    if (cancel) {
    return;
    }
    //...
    })();
    return () => {
    cancel = true;
    };
    }, [type]);
    好好好,你们都禁用传感器权限是吧,这就回去改。
    倒计时 3 秒跳转广告,摇一摇取消跳转。
    然后给你 摇一摇跳转、摇一摇取消 两个随机轮换着出。
    这样,阁下该如何应对?🐶
    47 天前
    回复了 fzh2055 创建的主题 程序员 求助网站拦截原理
    有没有一种可能,dig 用的系统 DNS 解析,返回的 IP 被 SNI 墙,ICMP 能通,TLS SNI 不通。
    浏览器配置 DoH 之后,强制走了 DoH 来解析,Cloudflare 的 DNS 因为隐私问题所以不支持 EDNS Client Subnet ,解析到的 IP 和你 dig 的不一样,解析到一个没被墙的 IP ?
    还有些网站会看 TLS 指纹
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1312 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:37 · PVG 01:37 · LAX 10:37 · JFK 13:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.