JS中实现私钥导出公钥
有需求前端实现基于私钥导出公钥,调研了几个方案,最终解决,这里总结下。
解决办法
使用node-forge,该库支持浏览器端/Node服务端,因此前端可用。
如下贴出Node下如何使用
1 | const forge = require('node-forge');// 浏览器端,更换为import或者直接script导入JS模块即可 |
有需求前端实现基于私钥导出公钥,调研了几个方案,最终解决,这里总结下。
使用node-forge,该库支持浏览器端/Node服务端,因此前端可用。
如下贴出Node下如何使用
1 | const forge = require('node-forge');// 浏览器端,更换为import或者直接script导入JS模块即可 |
React中ref还是很常用的,它使父组件具备操作子组件/原生DOM的能力,比如控制一个modal组件弹窗显示等等。但使用上有时会遇到一个不注意的坑,这里梳理下。
ref挂载元素成功后,并不会触发组件重新渲染
有时会将useEffect依赖中增加ref或者ref.current,但实际上当ref中引用的组件被挂载后,ref.current虽然已经保存了实例引用,但组件并不会触发重新渲染,更别说effect重新执行了,因此遇到此类需求需要修改方案来解决,方法如下
ref的使用,可以直接ref对象赋值,也可以callback,两种方式本身作用是一致的,唯一区别是如果想在挂载时执行一些动作,可以使用callback,举个🌰
1 | function App() { |
如上,增加state参refresh,在挂载成功时修改从而做到重新渲染。
使用组件时有几个参数是特殊的,比如key,又或者是ref。它们并非属于props,react下会进行特殊处理,比如在HOC下,就需要注意。
在微信中打开一些网页时总会出现以下拦截提醒,遇到这种情况时必须点击
继续访问
。技术人不忍这种流氓事,于是着手从技术上解决这个体验问题。
首先想到的是这个方案,解决步骤如下
Chrome浏览器下安装插件Tampermonkey(油猴)
插件中增加如下脚本,该脚本我已已经开源,不想了解具体实现的直接安装即可。
1 | // ==UserScript== |
如上操作后,当访问拦截被拦截,也会快速跳转到目标网页。