“Error: A <Route> is only ever to be used as the child of <Routes> element“ 这是由于react-router-dom版本写法问题。即Route必须被括在Routes里。使用路由的时候遇到这个bug。
矩阵中的路径 给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。...
Javascript垃圾回收机制 当变量进入上下文,比如在函数内部声明一个变量时,这个变量会被加上存在于上下文中的标记。而在上下文中的变量,逻辑上讲,永远不应该释放它们的内存,因为只要上下文中的代码在运行,就有可能用到它们。当变量离开上下文时,也会被加上离开上下文的标记。但并不是所有时候都会这么明显,垃圾回收程序必须跟踪记录哪个变量还会使用,以及哪个变量不会再使用,以便回收内存。定期的,垃圾回收期将从这个全局对象开始,找所有从这个全局对象开始引用的对象,再找这些对象引用的对象…,所以整个函数以及内部的变量都应该被回收,但根据引用计数方法,.
函数柯里化 柯里化是一种函数的转换,它是指将一个函数从可调用的f(a, b, c)转换为可调用的f(a)(b)(c)。把接受多个参数的函数转换成接受一个单一参数的函数。// curry(f) 执行柯里化转换 return function(a) {};};} // 用法 function sum(a , b) {// 3柯里化更高级的实现,例如lodash库的_.curry// 使用来自 lodash 库的 _.curry alert(curriedSum(1 , 2));...
vscode+CRA+TypeScript+eslint+prettier+stylelint+husky+lint-staged完整版配置 最近在做一个react项目,需要统一和规范代码风格,并且实现git管理,规范提交。所以基于CRA脚手架搭建项目整体框架,并自定义配置相关需求。
继承方式知多少 这意味着这个原型本身有一个内部指针指向另一个原型,相应地另一个原型也有一个指针指向另一个构造函数。这样就在实例和原型之间构造了一条。每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型。ES6继承是使用关键字先创建父类的实例对象this,最后在子类class中修改this。,从而实现子类可以访问到父类构造函数以及原型上的属性或者方法。同时结合原型链继承、构造函数继承,是使用最多的继承方式。通过修改父类构造函数this实现的继承。在组合继承的基础上,解决了。...
CSS垂直居中 的属性值,是指元素进行2D变换,元素以当前位置(0,0)按照。添加盒子内项目在纵轴上的对齐方式为。给父元素设置弹性盒子;属性定义项目在主轴上的对齐方式为居中。使用绝对定位脱离文档流;绝对定位+marginauto。绝对定位+transform。元素相对父元素绝对定位;轴的方向移动多少,按照。flex设定纵轴为主轴。父元素设置。...
服务器无权限联网安装R包 之前安装包一直都需要联网,通过cran搜索install.packages(“xxx”)、github或者Bioconductor安装,但是如果没有联网权限怎么办呢?首先找到要安装的包,比如rhdf5,我在Bioconductor安装,下滑找到它的源文件,tar.gz结尾的,下载到本地。这样的字眼,这一般都是因为缺少当前安装包所需的依赖包,把这些依赖先装上,再装包就没问题了。然后把这两个包安装,在安装rhdf5就会安装成功了!解决了本地安装包的疑惑!但是,事情并非这么简单!等待一会就安装成功了!......
BFC(块格式上下文) 视觉格式化模型(visualformattingmodel)是用来处理文档并将它显示在视觉媒体上的机制,定义了盒(Box)的生成,盒主要包括了块盒、行内盒、匿名盒(没有名字不能被选择器选中的盒)以及一些实验性的盒(未来可能添加到规范中)。这意味着一个BFC包含创建该上下文元素的所有子元素,但不包括新创建的BFC的子元素的内部元素。它是一个封闭的黑盒子,里面元素的布局不会影响外部,反之亦然。,而根元素会创建一个BFC,创建一个新的BFC时就相当于在这个元素内部创建一个新的。的布局过程发生的区域,也是。...
数据结构(JS版) 选择排序选定第一个索引位置,然后和后面元素依次比较如果后面的队员, 小于第一个索引位置的队员, 则交换位置经过一轮的比较后, 可以确定第一个位置是最小的,一共进行轮(数组长度)然后使用同样的方法把剩下的元素逐个比较即可可以看出选择排序,第一轮会选出最小值,第二轮会选出第二小的值,直到最后插入排序从第一个元素开始,该元素可以认为已经被排序取出下一个元素 ,在已经排序的元素序列中从后向前扫描如果已排序的元素大于新元素 ,将已排序的元素移到下一位置重复上一个步骤,直到找到已排序的元素小
foreach并行化%dopar% 终于!最近在做代码优化的时候发现部分代码可以使用并行化实现,太多重复工作,于是决定使用包和包实现。话不多说,直接导入包:比传统组函数的优越之处在于,它可以通过调用操作系统的多核运行性能来执行并行任务,这样特别是对于I/O密集型任务而言,可以大大节省代码执行效率。我们来看一下用法:参数解释:注意:每次并行化是独立运行的,所以不管你什么时候、是否在全局环境中调用了某函数或者某变量等等,都需要在和中加上,当然你可以有其他的解决方案,这种是最方便的!!如果你没有做这个,你就会发现报错:找不到xxx函数!!
异步编程async/await 使用 关键字可以让函数具有异步特征,但总体上其代码仍然是同步求值的。异步函数如果使用 关键字返回了值(如果没有 则会返回 ),这个值会被 包装成一个对象。注:异步函数始终返回对象!!await 函数返回一个 对象,可以使用 方法添加回调函数。当函数执行的时候,一旦遇到 就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。关键字会暂停执行异步函数之后的代码,使其让出 运行时的执行线程,先执行异步。单独使用的时候,放在函数前面表示这个函数是一个异步函数,如果 函数有返回结果,必须要用方法来承接(也
git基操勿6 前提是使用创建了一个本地仓库。用于从现有的github上的仓库copy一个副本到本地的git仓库,类似于SVN的checkout。克隆仓库的命令格式为:这里的repo呢就是你需要clone的github仓库地址,应该很容易找到吧,找不到看下图。如果你想clone到指定的目录下,那就在最后加一个本地目录就行了,就像这样:注意下哈,这些尖括号是可以不用写的哈。显示当前的git配置信息:底下还有一大串我就不截了。。。然后开始编辑 git 配置文件:或者:设置提交代码时的用户信息:基操git流
Less Mixins 混合是一种将一组属性从一个规则集包含(或混入)到另一个规则集的方法,能够混合类选择器和**选择器**。假定有一个类选择器:如果希望它能在其他规则集下使用呢?可以直接调用:这样类选择器中包含的属性就同时出现在选择器和类选择器中。注意:调用中的圆括号是可选的,但将在未来的版本中被要求使用。如果你想创建一个,但是你不希望这个出现在你的输出中,那就在定义后面加圆括号。命名空间给命名空间可以减少与其他库或用户的冲突,它也是一种组织组的方法。以下三种写法等价,空格和是可选的:Guarded Namespac
Less变量 变量(Variables)overview相同的值在CSS中重复几十次甚至数百次并不罕见:a,.link { color: #428bca;}.widget { color: #fff; background: #428bca;}变量提供了一种从单个位置控制这些值的方法,从而使代码更容易维护。// Variables@link-color: #428bca; // sea blue@link-color-hover: darken(@link-color,
TS中对象字面量的额外属性检查 问题我们在接口中定义了两个变量类型,在函数使用中并非用上全部的变量,是一种可选属性,一种OPTION BAGS如果已定义函数的参数名称与传入接口定义不一致会发生什么呢?看以下例子:// 接口,?表示可选属性interface SquareConfig { color?: string; width?: number;}function createSquare(config: SquareConfig): { color: string; area: number } {
解决NODE_ENV无法在windows下运行 问题在搭建前端工程的架构中,需要在在package.json的scripts标签下配置一系列命令,如下所示:"scripts": { "build:client": "NODE_ENV=prod webpack --config ./package/client/build/webpack.prod.js", "build:server": "NODE_ENV=prod tsc --p ./package/server",},后来发现在windows环境中无法正常运行:'NODE_ENV'