![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
文章平均质量分 50
China_forrest
这个作者很懒,什么都没留下…
展开
-
react portals
portal提供了一种将子节点渲染到存在于父组件以外的DOM节点的优秀方案为什么需要Portals当你想把父组件的某个子组件渲染到页面中其它盒子(非父组件子树)里的时候,就用 portal写modal的时候可能很多同学会直接在JSX中把Modal画出来,像这样缺陷modal生成的代码会与JSX中的代码冗余在一起,而modal的显示位置大多情况是在中间位置,目前modal与其他组件冗余,我们需要CSS的position属性控制modal位置,就要求从modal往上一直到body没有其他postion原创 2022-07-06 20:42:18 · 212 阅读 · 1 评论 -
前端工作中需要注意的everything
前端工作要注意的那些事前言本文主要主要记录并分享自己认为有帮助的鸡汤,内容主要有:职场、技术经验、工作沟通。职场既然是工作,工作在人生中占据了举足轻重的地位,所以呢我们需要开心一点,开心的工作,才能开心的生活。那我们怎么样才能工作开心呢,当然是处理好与同事之间的关系,作为前端我们接触最多的就是后端了,切记一点尽力处理好与后端哥哥的关系,不要轻易撕破脸,有时间可以多聚聚交流一下感情,如果他也喜欢撸串,那岂不是拍手称快了哈哈。工作中前后端工作内容是有很多交集的,比如最常见的数据处理,如果关系好的话,我原创 2020-07-24 16:35:03 · 238 阅读 · 0 评论 -
常用linux命令(含配置ssh)
端口号被占用,ssh,linux原创 2021-01-13 10:35:21 · 183 阅读 · 0 评论 -
简单理解柯里化
详解柯里化前言 函数柯里化是把接收多个参数的函数,转换成接收单一参数的函数,并且返回一个(可以接收剩余参数)新函数的技 术。优点1:可以延迟计算,即调用柯里化函数传入的参数不是立即调用的,而是当满足一定条件的时候才会(将已 经在数组中存储的参数作为参数)执行;优点2:参数复用,当在多次调用同一个函数,并且传递的参数绝大多数是 相同的,那么该函数可能是一个很好的柯里化函数。实现lodash中的curry方法就是一个柯里化函数 https://www.lodashj原创 2021-01-12 15:04:58 · 466 阅读 · 0 评论 -
我知道的TCP/IP
定义数据的封装格式或者说传输手段(比如说摩斯码,滴答、长短间隔)讲流程分解成多功能相对单一的子进程。分工带来效能:松江黄金大劫案OSI七层模型:(Open System interconnection)开放系统交互模型分层功能备注应用层网络服务与最终用户的一个接口http服务器、浏览器、FTP表示层数据的表示、安全、压缩二进制、json还是html;http协议还是https;将原始的二进制文件进行压缩gzip或者其他,是一种时间换空间的一种优化策略。会话层建立、管理、中止会话原创 2020-09-03 07:13:10 · 132 阅读 · 0 评论 -
React源码分析第四节
context跨级通信childContextType :老的, React17废弃createContext :React16之后import React from 'react'import PropTypes from 'prop-types'const {Provider, Consumer} = React.createContext("default")class Parent extends React.Component { state = { childCo原创 2020-07-28 13:44:37 · 187 阅读 · 0 评论 -
React源码分析第二节
Component和PureComponent/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */import invariant from 'shared/invariant';原创 2020-07-28 08:58:41 · 246 阅读 · 0 评论 -
javascript高级程序设计之 引用类型
第五章 引用类型object.hasOwnProperty(“属性名”)const object1 = {};object1.property1 = 42;console.log(object1.hasOwnProperty('property1'));// expected output: trueconsole.log(object1.hasOwnProperty('toString'));// expected output: falseconsole.log(object1.原创 2020-07-27 17:58:39 · 120 阅读 · 0 评论 -
我知道的TDD
TDDTDD 是测试驱动开发(Test-Driven Development),它同样也是敏捷开发的一种方法论。TDD 是再开发代码之前,先编写单元测试用例,用测试的代码确定要编写什么样的代码。它的整个思路就是通过测试来驱动整个软件开发的进度,当然这对测试人员来说是一个更高的要求和标准。TDD 三大原则:You are not allowed to write any production code unless it is to make a failing unit test pass.You原创 2020-07-27 13:51:52 · 177 阅读 · 0 评论 -
javascript高级程序设计之 BOM
第八章 BOM强制刷新window.location.reload()Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.原创 2020-07-27 13:47:56 · 137 阅读 · 0 评论 -
javascript高级程序设计之 第四章 变量、作用域和内存问题
第四章 变量、作用域和内存问题4.2 执行环境及作用域什么是执行环境?执行环境:定义了变量或函数有权访问的其他数据全局执行环境:最外围的一个执行环境(web浏览器中的全局执行环境是window对象)每个**执行环境**都有一个与之关联的**变量对象**(保存定义的所有变量和函数)编写的代码无法访问这个对象,但javascritp解析器会在后台使用它。...原创 2020-07-27 11:50:31 · 133 阅读 · 0 评论 -
我知道的javascritp高级程序设计
第八章 BOM强制刷新window.location.reload()Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.原创 2020-07-27 10:29:16 · 114 阅读 · 0 评论 -
我知道的npm命令
强制删除node_modulesnpm install rimraf -grimraf node_modules原创 2020-07-27 09:18:13 · 111 阅读 · 0 评论 -
关于git,你知道多少?
关于git,你知道多少前言在个人使用git时,我们可能只需要记住 git add,git commit, git push这三个命令也就可以了,但是一旦进行团队合作或者项目逐渐变得复杂起来的时候,这些命令就不够用了。本篇为了弥补之前学习git的漏洞,方便查询指令之用,粗略地划分了门类,指令下面是简单的解释,可以让你迅速拾起对指令的认识,免去查询手册之苦。多人工作模式图片:首先,可以试图使用git push origin branch-name 推送自己的修改如果推送失败,则因为远程分支比你的原创 2020-07-25 20:43:59 · 348 阅读 · 0 评论