react

博客页面添加动态小人

无人久伴 提交于 2020-04-12 17:26:02
为了美化浏览界面,我们可以使用博客第三方小人插件 我们只需要将以下代码添加到博客园的 博客侧边栏公告<在设置里面>(支持HTML代码) (支持 JS 代码) 就可以实现博客里面的小人效果了 <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script> <!--小帅哥: https://unpkg.com/live2d-widget-model-chitose@1.0.5/assets/chitose.model.json--> <!--萌娘:https://unpkg.com/live2d-widget-model-shizuku@1.0.5/assets/shizuku.model.json--> <!--小可爱(女):https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json--> <!--小可爱(男):https://unpkg.com/live2d-widget-model-haruto@1.0.5/assets/haruto.model.json--> <!--初音:https://unpkg.com/live2d

React Hook源码解析(三)

拥有回忆 提交于 2020-04-12 17:02:50
写在前面 前两篇文章, juejin.im/post/5e7cc0… juejin.im/post/5e8495… 深入了Hook的源码。本文将以 useState 和 useEffect 为主,总结一下Hook的相关内容, 先贴出示例代码: const App = () => { const [title, setTitle] = useState( '' ); const [fontSize, setFontSize] = useState( '13' ); useEffect( () => { document .title = title; },[title]); useEffect( () => { document .body.style.fontSize = ` ${fontSize} px` ; }, [fontSize]); return <React.Fragment> <input value={title} onChange={e => setTitle(e.target.value)} /> <input value={fontSize} onChange={e => setFontSize(e.target.value)} /> <p>Hello World</p> </React.Fragment> }; 复制代码 组件初次挂载 组件首次挂载的时候

ZooTeam 前端周刊|第 77 期

笑着哭i 提交于 2020-04-11 20:36:30
ZooTeam 前端周刊|第 77 期 浏览更多往期小报,请访问: weekly.zoo.team JSONPath · alibaba/fastjson Wiki JSONPath 了解... (1) 【图文并茂,点赞收藏哦!】重学巩固你的Vuejs知识体系 - 掘金 前沿 置身世外只为暗中观察!!!Hello大家好,我是魔王哪吒!重学巩固你的Vuejs知识体系,如果有哪些知识点遗漏,还望在评论中说明,让我可以及时更新本篇内容知识体系。欢迎点赞收藏! 谈谈你对MVC、MVP和MVVM的理解? (1) 高频组件你还在import吗?太low了 - 掘金 对于高频组件你还在这样引入么 使用require.context实现前端工程自动化快速应用到项目中 require.context是什么? 一个webpack的api,通过执行require.context函数获取一个特定的上下文,主要用来实现自动化导入模块... (1) 第三届搞搭建|妙净-如何为搭建物料智能生成代码 - 自动编码 - 掘金 前端早早聊大会,前端成长新起点,帮你提前二十天,站在新的起跑线,目标成为用得上,听得懂,抄得走的前端大会,计划 2020 年办 12 期,由前端早早聊与掘金联合举办。 第四届 - 前端工程师从初级到专家的技术规划/职业规划... (1) 50行实现Node.js多进程分页爬虫 - 掘金 前言

React前台改用HashRouter并解决两个问题

戏子无情 提交于 2020-04-11 17:42:05
(1)前言 开发时使用BrowserRouter路由跳转传参,可以正常使用,如下所示 然后在详情组件里通过this.props.loaction.state即可获取 (2)转换 直接将BrowserRouter转为HashRouter即可 但是换成HashRouter后获取失效,这里我们该用内存或者state控制即可 . 来源: oschina 链接: https://my.oschina.net/u/4403345/blog/3229388

DevOps技能自查表

核能气质少年 提交于 2020-04-11 17:38:50
前篇提到了DevOps的工作岗位要求,但是没有来的及深入细节,本文根据个人10年多的经验,尽量详细地列举DevOps所需要用到的一些技术和相关参考网站。 Linux基础 Linux系统的基本概念; 必须会使用至少一个编辑器,例如VIM; 至少会一种shell,例如bash; 会使用rsh/ssh/scp/rhost/rsync; cron相关设置和命令,crontab; 进程的状态,以及相关的命令ps, top, pgrep,pstree; 文件状态的查看排序,ls; 文件的查找, find; 文件权限,以及相关命令ls, chmod, chown; 文件的压缩解压种类,tar; job相关命令 jobs,nohup,bg, fg, disown; 信号的种类INT,TERM,QUIT, 和kill的使用,例如 kill -9; 软硬链接的概念和命令,ln; 磁盘的使用和配额命令,df,du,quota; 内存的种类swap和buffer,相关命令top; 系统的检测命令,uptime,ps,top, free,pstree; Daemon,service的工作原理,配置,使用,例如命令service; 用户的权限,group等的操作; 磁盘的自动挂载; 文件内容的查找命令grep,sed; 高级命令xargs; 文本数据库的操作命令,例如cut,tr,sort,uniq;

React项目之BrowserRouter路由方式之-------生产环境404问题

跟風遠走 提交于 2020-04-11 14:58:05
使用 BrowserRouter 的问题(方案:后台自定义中间件,前提:前台和后台不要有路径重复) a. 问题: 刷新某个路由路径时, 会出现 404 的错误 b. 原因: 项目根路径后的 path 路径会被当作后台路由路径, 去请求对应的后台路由,但没有 c. 解决: 使用自定义中间件去读取返回 index 页面展现 d. 注意: 前端路由的路径不要与后台路由路径相同(并且请求方式也相同)   如下所示,访问首页时可以正常访问      但刷新页面时便会出现问题    分析如下:      分析: 1 、如果是localhost: 5000 /#/ home则是访问的是项目根路径下的文件,即打包后的index.html文件为主的SPA应用 2 、但这里是localhost: 5000 / home,后台收到的是该路径请求,会将其看成后台路径进行处理,而后台确实没有处理该路由。而我们希望将视为前端路由进行处理。 3 、这里注意,我们在开发环境下可以正常刷新访问。因为在开发环境是webpack服务器,始终返回index.html   继续分析如下,后端路由都有对应的注册步骤      接下来我们使用自定义中间件,如果没有对应路由,则读取我们打包的Index.html页面      此时便可以正常刷新 app.use((req, res) => { fs.readFile(_

React生产环境打包&&后台环境运行(有跨域+无跨域)

梦想的初衷 提交于 2020-04-11 14:57:47
(1)打包项目 1 、yarn run build或者 2 、npm run build   打包后,webpack会自动在根目录生成build文件,里面存放着相关文件    (2)运行打包项目&&跨域分析   1) 与服务器端项目独立运行 问题: 存在 ajax 请求跨域问题 解决: 由服务器端工程师配置代理服务器(前端工程师不用亲自操作)   这种便是 有跨域情况 ,项目与服务端运行在不同服务器或端口下。   这里说到一般是由后端工程师处理的,我们作为前端简单了解下。需要使用nginx工具      该工具主要用来给后端开发人员做集群的,还可以用来做代理服务器,接下来介绍下nginx实现生产环境下的服务器代理。 注意:该文件不能在中文路径下运行,所以需要注意。    点击运行后,并不会出现运行界面,需要在任务管理器里查看。      然后查看相应进程,会有对应的启动服务。      接下来看下配置文件              2) 合并到服务端项目一起运行 不再有 ajax 请求跨域问题   这里我们采用方式2,直接将打包文件build中的文件放到node后台搭建项目的根目录下的public目录下,如下所示。这种便是 无跨域情况 .      直接将build下打包生成的文件放过来,然后运行项目即可正常预览      现在启动服务端,直接预览即可          . 来源:

如何避免向下传递回调?

旧时模样 提交于 2020-04-11 10:02:45
React 我们已经发现大部分人并不喜欢在组件树的每一层手动传递回调。尽管这种写法更明确,但这给人感觉像错综复杂的管道工程一样麻烦。 在大型的组件树中,我们推荐的替代方案是通过 context 用 useReducer 往下传一个 dispatch 函数: const TodosDispatch = React.createContext( null ); function TodosApp ( ) { // 提示:`dispatch` 不会在重新渲染之间变化 const [todos, dispatch] = useReducer(todosReducer); return ( <TodosDispatch.Provider value={dispatch}> <DeepTree todos={todos} /> </TodosDispatch.Provider> ); } 复制代码 TodosApp 内部组件树里的任何子节点都可以使用 dispatch 函数来向上传递 actions 到 TodosApp : function DeepChild ( props ) { // 如果我们想要执行一个 action,我们可以从 context 中获取 dispatch。 const dispatch = useContext(TodosDispatch); function

react调用方法

丶灬走出姿态 提交于 2020-04-10 17:54:45
React里调用方法常见的方式有两种 (1)触发时通过回调函数触发 <Button type= " primary " onClick={ ()=>this.updateBar() }>更新</Button> (2)直接通过方法名触发 <Button type= " primary " onClick={ this.updateBar }>更新</Button> (3)注意   切忌:不要在渲染时候直接触发调用方法,不然会报错    错误:   超过了最大更新深度。当组件在componentWillUpdate或componentdiddupdate内重复调用setState时,可能会发生这种情况。   React限制嵌套更新的数量以防止无限循环。 . 来源: oschina 链接: https://my.oschina.net/u/4381446/blog/3228108

Web前端开发难吗?都要学习哪些内容?

隐身守侯 提交于 2020-04-10 16:32:03
Web前端开发入行门槛低,是很多人转行的首选。但依然有一些想转行学习Web前端的人在徘徊、犹豫,怕学不好前端,更因为是零基础不知道如何入手。下面,我就给大家介绍一下学习Web前端开发难吗?都要学习哪些内容? 根据市面上企业需求和大部分学员的基础,主要学习一下内容: 1、前端页面重构。主要内容为PC端网站布局、HTML5+CSS3基础、WebApp页面布局。学习目标是完成PC端网站布局,WebApp页面布局,还要可以通过HTML5+CSS3的2D、3D等属性实现一些精美的动画效果。 2、JavaScript高级课程、PC端全栈项目开发。主要内容为原生JavaScript、面向对象进阶与ES5/ES6应用、JavaScript工具库自主研发、JQuery经典交互特效开发、HTTP协议、Ajax进阶与后端开发、前端工程化与模块化应用以及AngularJS等。学习目标是可以通过原生JavaScript开发交互功能,实现网站上的交互效果,以及模块化应用等,实现完整的前端工程。 3、Web前端框架、混合开发(Hybrid,RN)、大数据可视化。主要内容为Node.js后端开发、Vue.js前端框架、React前端框架、混合开发(Hybrid,RN)、Angular前端框架、大数据可视化等。学习目标是可以独立完成相应的项目,如微信场景,应用Vue.js/Ionic/React