上午把网络检测相关功能的细节给完善好了,主要是生命周期的清理等等。下午开始解决 Safari 不能开启屏幕共享的问题,我想着先获取视频流,再做相关的异步判断,如果判断不成功清理掉就是了。这只是思路,实际改起来还没想的这么轻松,因为涉及到的 Hooks 还是有点多。
修改过程中还发现一个比较不合理的问题,想要在 React 组件内挂载一个外部实例,最好的办法是使用 useRef
而不是 useState
或 useReducer
,因为每一次状态的更改都会造成组件重绘,性能折扣非常大。
// 不推荐
const [state, dispatch] = useReducer(reducer, initState);
useEffect(() => {
const client = anExternalClient.init({
appId: "",
onMessage: () => {},
});
dispatch({
type: "client",
payload: client,
});
}, []);
各位还记得我之前买的二手 iPad 么,今天上午它玩真的了,彻彻底底挂了。早上开早会的时候死机了一次,中午吃饭回来发现它就黑屏了,再也没法点亮了... 于是找了我同学,想让他拿去帮我找师傅维修,而我还在网上问了下 @艾奥科技 的价格,人家是一个很知名的数码博主,想着维修方面应该是信得过把。报价是 300 起,我是想着几百块能修好继续用,还是没啥问题的。
毕竟现在要买一台全新机,256G 的版本至少也要 5000 多,而我这台还不到 4000,二手机器的价格还是有优势啊。况且当时我其他同学在他那买的 iPhone 用起来也稳定,想着应该是没啥问题的...