• React组件的生命周期
    Taurus
    React组件的生命周期可以分为三个状态: 1.Mounting: 已插入真实 DOM 2.Updating: 正在被重新渲染 3.Unmounting: 已移出真实 DOM 生命周期的方法分别有: 1. componentWillMount:在渲染前调用,即在客户端也在服务端。 2. componentDidMount:组件第一次渲染完成,此时DOM 节点已经生成,可以在这里调用ajax请求,返回数据setState后组件会重新渲染 3. componentWillReceiveProps:在组件接收到一个新的prop时被调用,在接受父组件改变后的props需要重新渲染组件时用的比较多。 4...
    •  0
    •  0
    •  2020-10-27
  • React元素渲染
    Taurus
    最近在学React前端框架的一些内容,总结并分享一些我学习的内容,React里的元素是构成React应用最小的单位,他是用于描述屏幕上输出的内容。比如: const element = <h1>Hello,React!</h1>; 它与浏览器的DOM元素不同,React当中的元素实际上是普通的对象,React DOM可以确保浏览器的DOM的数据内容和React元素保持一致。 如何将元素渲染到DOM中 在一个HTML页面中添加一个 id="example"的<div>: <div id="example"></div> 这里面的div的所有的内容都由React DOM进行管理,所以把它称为“...
    •  0
    •  5
    •  2020-10-27
  • 关于window.open() 打开页面被拦截问题
    albert
    当你异步请求完成window.open 跳转一个页面被火狐拦截,你是不是也有骂娘过(我骂过好多次,嘿嘿嘿)。遇到这个我问题我首先想到的是,js模拟a标签点击时间去解决这个问题。 模拟代码: let link = document.createElement('a'); link.href = 'xxx'; link.target = '_blank'; link.click(); 在测试的时候发现在火狐上还是会被拦截,这个天杀的火狐。。。 在咨询了大佬(🙏大佬,跪谢大佬)的情况下给了一个解决方法 根据大佬的建议的代码: let newWin = window.open('') this.p...
    •  0
    •  0
    •  2020-10-26
  • mobx5.x升级到mobx6.x
    落雁沙
    环境: mobx 6.x mobx-react 7.x 在最近的一个项目中,使用mobx作为状态管理。用法是按照5.x的用法来的,但是更新了值之后,组件并没有刷新。查了很多方案,都是用React.createContext来实现的,虽然官网有类似的用法,但是,如果是老项目,总不能全不都去改了吧?所以还是要在原来的基础上寻找解决方案。最后还是在官方文档上找到了相关的说明。 https://mobx.js.org/migrating-from-4-or-5.html https://michel.codes/blogs/mobx6 我们根据这两个文章的内容写个demo测试。 工程结构如下: sto...
    •  0
    •  0
    •  2020-10-26
  • nodejs 用es6写服务端代码
    落雁沙
    我们在使用Node写服务端代码的时候,一般是用commonJS的写法写的,但是如果考虑到代码复用什么的,还是希望可以用es6的写法去写。但是目前node是不支持import等用法的,所以我们需要用Babel来做转义。 以koa为例: 首先,我们设计工程结构代码都在src文件夹下 src下写一个index.js import Koa from "koa" const app = new Koa(); app.use(async ctx => {     ctx.body = 'Hello World';   }); app.listen(3000); 配置.babelrc来处理es6的转义...
    •  0
    •  2
    •  2020-10-20
  • GIT切换到新的远程地址
    哈哈哈哈尔滨
    今天公司换了新Git,项目都要做迁移。 本地想把远程地址切换成新的地址,百度找了一些命令,不太对,最后用此命令实现: 查看仓库链接 git remote -v 修改url链接 git remote set-url origin 新URL 或者直接修改config文件也可以 如果你的项目有加入版本控制,那可以到项目根目录下,查看隐藏文件夹, 发现.git文件夹,找到其中的config文件,就可以修改其中的git remote origin地址了。 再补一个界面上的: 首先在菜单栏找到VCS版本控制菜单,然后选择Git,然后在Git子菜单找到Remotes,点击,直接修改
    •  2
    •  4
    •  2020-10-20
  • 位运算-基操勿6皆坐
    pinkbanana
    位运算有一些基础的操作比如说,与、或、非、异或。 其实是可以通过位运算来判断是否具有某一个权限,比如 Linux 操作系统里面的 chmod 命令中经常会看到 chmod 777 或者 chmod a+x 这样的代码,这个都代表修改某个东西的权限。 所以这个数字呢也就代表为权限。 PERM = { create: 1, read: 1 << 1, update: 1 << 2, delte: 1 << 3, } class User def initialize @perm = 0 end def add_perm(p, *rest) @per...
    •  1
    •  0
    •  2020-10-20
  • spring boot restful接口的版本控制
    落雁沙
    在spring boot项目中,如果要进行restful接口的版本控制一般有以下几个方向: 基于path的版本控制 基于header的版本控制 在spring MVC下,url映射到哪个method是由RequestMappingHandlerMapping来控制的,那么我们也是通过 RequestMappingHandlerMapping来做版本控制的 1.path控制 首先写一个annocation @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @inter...
    •  1
    •  2
    •  2020-10-18
  • SpringBoot的Bean的生命周期
    Taurus
    什么是Bean的生命周期,就是Bean从创建到销毁的过程。 springboot中Bean的生命周期的过程: 1.Bean的定义 2.Bean的初始化 3.Bean的生存期 4.Bean的销毁 Bean的生命周期过程描述: 首先Spring在实例化Bean的时候,会先调用它的构造函数,进行Bean的实例化,然后进行Bean的初始化,Bean的初始化过程经过三个阶段,初始化之前,初始化和初始化之后,这就是初始化过程,然后开始利用Bean经行业务逻辑处理,最后容器正常关闭,spring开始销毁Bean,Bean的销毁过程相对比较简单,调用DisposableBeanAdapter.destroy(...
    •  0
    •  0
    •  2020-10-15
  • nextjs的路径和react-router-dom的混合使用
    落雁沙
    我们在使用nextjs作为react服务端渲染的时候,一般情况下,只有使用nextjs的文件夹路径作为url地址就可以了。但是,如果有部分页面我们不想用服务端渲染,这部分页面可以使用单页应用来做。 那么问题来了,服务端渲染和单页应用怎么融合?首先,我们看理论上是否可行,单页应用,就是在一个服务端渲染的页面上,通过HashRoute来控制页面的展示,那么我们就用其中一个页面来做这个单页应用的载体好了。 1.首先我们以HashRoute来测试,按照正常的react-router-dom模式来写。 layout const UserLayout = ({route})=>{     return <...
    •  0
    •  0
    •  2020-10-15