[TopGrd] # _

I code something

Recent Posts

模拟 React Hooks

published on
首先 我们先模拟一个useState function useState(initVal) { let _val = initVal; const state = _val; function setState(newVal) { _val = newVal; } return [state, setState]; } const [count, setCount] = useState(0); console.log(count); setCount(2); console.log(count); 但是log 出来的count并不是我们所期望的 0 2,而是 0 0; 为什么呢? 因为在[count, setCount] = useState(0)count 复制的是 initVal, 修改 _val 的值, 而 count 仍然是initVal的值 如何让他恢复正常呢,我们可以使用方法来获取state function useState(initVal) { let _val = initVal; const state = () => _val; function setState(newVal) { _val = newVal; } return [state, setState]; } const [count, setCount] = useState(0); console. Read More...

Electron

published on
Api demopark/electron-api-demos-Zh_CN ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ npm i electron 架构 主进程和渲染器进程 运行package.json的main脚本的进程被称为 主进程,一个 Electron 应用总是有且只有一个主进程 使用了Chromium 来展示 web 页面,Chromium 的多进程架构也被使用到。每个 Electron 中的 web 页面运行在它自己的渲染进程中。 rebuild native-module 使用的包包含 C++ 的原生实现。所以在 pack 前需先用 electron-rebuild 做 rebuild。 rebuild 如果很慢,可能是要翻墙,可尝试 cnpmjs.org 提供的镜像,electron-rebuild -d=https://gh-contractor-zcbenz.cnpmjs.org/atom-shell/dist/。 GitHub - electron/electron-rebuild: Package to rebuild native Node.js modules against the currently installed Electron version 在渲染进程中使用主进程模块 使用remote api, 在主进程中导出模块, remote | Electron // main services const pty = require('node-pty') module.exports = { pty } // main index. Read More...

Tags

medium (1) node (1) react (2) webpack (2)