先写一个简单App页面,其实就是简单修改了react-router的官方例子中的animations例子,修改了两个地方: 1.路由方式由browserHistory修改为hashHistory 2.在Page1组件中打印console.log('render page1'); 直接上代码: 然后现在点击Page1链接,会发现render page1 被打印了两次,说明,Page1组件被渲染了两次,假如Page1组件比较复杂的话,岂不是很影响性能: 为了仔细研究为什么会render两次,下面把P…
vue h render function & render select with options bug https://github.com/xgqfrms/vue/issues/41 bug vue h render function & render select how to use vue h render function to render select? https://vuejs.org/v2/guide/render-function.html let option…
puppeteer render local HTML template bug ➜ url-to-poster git:(master) ✗ dev ^-v-^ app is running in development env! yarn run v1.16.0 $ node index.js (node:2725) UnhandledPromiseRejectionWarning: Error: Protocol error (Page.navigate): Cannot navigate…
这一周线上碰到一个诡异的BUG. 线上有个定时任务,这个任务需要查询一个表几天范围内的一些数据做一些处理,每隔十分钟执行一次,直至成功. 通过日志发现,从凌晨5:26分开始到5:56任务执行了三次,三次都因为SQL查询超时而执行失败,而诡异的是,任务到凌晨6:00多就执行成功了. 每天都是凌晨五点多失败,凌晨六点执行成功. 点开异常日志一看是这样的: 总结来说就是MySQL查询超时. 像这种稳定复现的BUG,我原以为只需三分钟能定位,没有想到却耗费了我半天的时间. 排查之路 Explain 看到…
一段很普通的代码,出发了两次render import React, { useState, useEffect } from 'react' const MouseTracker: React.FC = () => { const [ positions, setPositions ] = useState({x: 0, y: 0}) useEffect(() => { console.log('add effect', positions.x) const updateMouse= (e:…
在 react 当中,主要创建更新的有三种方式 1.ReactDOM.render || hydrate  这两个api都是要把这个应用第一次渲染到我们页面上面,展现出来整个应用的样子的过程,这就是初始渲染 2.setState 3.forceUpdate ReactDOM.render 需要做哪些事情呢? 1.创建 ReactRoot 2.创建 FiberRoot 和 RootFiber 3.创建更新 import React, { Component } from 'react' impor…
Because @types/react has to expose all its internal types, there can be a lot of confusion over how to type specific patterns, particularly around higher order components and render prop patterns. The widest and most recommended element type is React…
We often want to render a Route conditionally within our application. In React Router v4, the Route components match the current route inclusively so a “stack” of Routes will all be processed. To render a single Route exclusively we can wrap them in…
如果你看过React的官方文档,就会对怎么给局部state赋值有一定的了解.如下代码: class Test extends React.Component { constructor(props) { super(props); this.state = { name:'李磊' }; // 为了在回调中使用 `this`,这个绑定是必不可少的 this.handleClick = this.handleClick.bind(this); } handleClick(){ this.setSta…
1.最近学习react源码,刚刚入门,看了render的原理,到了fiberRoot的创建 如图:…
最近在做webapp搜索功能时,用到两个input同时存在时,轻点input聚焦时,ios手机软键盘弹起又失效,一直在寻找合理的解决办法,现在最简单的总结回顾: <一>bug显示 <二> 最终测试通过的修改方案 1. 安卓保持不动,原生input当点击的时候可以自动聚焦; 2. ios单个input的也是正常的,就是两个input在一起失效: 3. 当两个input在一起的时候,每一个input外面包裹一层div,里面有一个span标签. 测试代码如下: <!DOCTYPE…
function createElement(type, config, children) { // 1. 创建一个对象 // 2.根据参数config修改这个对象 // 3.把children参数作为对象中props中的一个属性 let virtureDOM = {}; virtureDOM.type = type; virtureDOM.ref = config.ref || null; virtureDOM.key = config.key || null; let props = {}…
Poplar是一个社交主题的内容社区,但自身并不做社区,旨在提供可快速二次开发的开源基础套件.前端基于React Native与Redux构建,后端由Spring Boot.Dubbo.Zookeeper组成微服务对外提供一致的API访问. https://github.com/lvwangbeta/Poplar 前端React Native & Redux React Native虽然提供跨平台解决方案,但并未在性能与开发效率上做出过度妥协,尤其是对于有JS与CSS基础的开发人员入手不会很难,…
虽然过了兼容IE6的噩梦时代,IE依旧阴魂不散,因为你可能还要兼容IE9.在ES6已经普及的今天,用ES6写react已经成了标配.但是babel编译的js语法,由于某些不规范的写法,可能在IE9下不能正确解释,很容易导致白屏.本文记录如下 起因 在准备提测的那天,顺便打开IE9看一眼(注意,这里是原生IE9 ,不是用IE11模拟的IE9),OMG! 排查后发现,原来是因为构造函数中使用了this.简写如下 class Child extends React.Component {   cons…
项目中没用spring 的restTemplate 而是采用 jersey来做rest 的实现,一直用着,也没发现有什么不对,后来加入了,以quartz用硬编码方式实现,结果启动项目的时候报错 ,具体信息为job id重复.后来经排查是因为:jersey依赖于org.springframework.web.context.ContextLoaderListener初始化 的ApplicationContext,而spring mvc 依赖于org.springframework.web.serv…
开发中遇到令人蛋疼的问题: 只能在执行Render()的过程中调用RegisterForEventValidation 当出现的异常的提示: 异常详细信息: System.InvalidOperationException:只能在执行Render()的过程中调用RegisterForEventValidation: 不要伤心,下面是解决办法: 出现这个异常,解决问题只需要在<%@ Page %> 指令中加上 EnableEventValidation="false"…
jsobj.url_3[0]=url_3[1];这就错误jsobj.url_3[0]红色看成一个整体的0的属性,这就错了 TypeError: Cannot set property '0' of undefined 只能用[],jsobj[url_3[0]] indexOf和lastIndexOf方法区别 indexof从0开始,如果没有找到返回-1,严格区分大小写,返回索引 lastIndexOf  如果只有一个查询值,不管从后往前还是从前往后找,索引值都一样,区别就在于有好几个查询值,不管…
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网,服务器处于脱机状态(最近公司要上线项目,就是无外网环境的Linux,被离线安装坑惨了,走了很多弯路,说多了都是血泪史啊%>_<%).这也是笔者写本文的初衷,希望其他人少走弯路,下面就介绍如何在Linux安装部署Redis集群. 二.安装环境及工具 系统:Red Hat Enterprise Li…
首先我是这样的写的: <label> <input type="checkbox">点击 </label> 无论点击input还是文字,都会执行两次.因为点击lable会默认执行以下input,然后input又会自己执行一下,所以执行了两次. 解决方法: function clickIn(event){ if($(event.target).is("input")){ alert(123); } } 当元素为input的时候执行方…
博文原创,转载请联系博主! 使用C语言也有两个年头了,BUG写出来过不少,也改过不少BUG.但是偏偏就是有这么一个BUG让我手头的项目停工了两天,原因从百度找到谷歌,资料从MAN手册找到RFC也没有找到问题的原因,但是真正发现BUG原因之后实在是让自己汗颜. 不管如何,决定把这个BUG写进博文,也是给学习C语言的朋友们提个醒,查看BUG的眼光不要太高,思考问题要自底向上思考. 具体项目在我的github里: https://github.com/yue9944882/HttpAccelerate…
创建定时任务的目的就是摆脱人为对程序重复性地运行. 0. 首先用下面的指令检查你是否安装crontab, crontab -l 如果本身就有的话,那么出现如下指令 LC_CTYPE="zh_CN.utf-8" # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with differ…
原文链接:https://without.boats/blog/two-memory-bugs-from-ringbahn/ 原文标题:Two Memory Bugs From Ringbahn 公众号:Rust 碎碎念 翻译: Praying 在实现ringbahn[1]的时候,我引入了至少两个 bugs,这些 bugs 引发了内存安全错误,导致段错误,分配器中止以及匪夷所思的未定义行为.我已经修复了我所能找到的 bugs,现在我也无法证明代码库中是否有更多的内存安全问题(当然,这并不意味着没…
1,heartbeat启动不起来 如果你是用了linux-ha.japan里面的repo文件,Yum安装pacemaker+heartbeat时. 可能会发现打了service heartbeat start后什么反应也没有. 其实是这个网站里的软件默认配置写错了,做以下的修改就能解决. vi /usr/lib/ocf/resource.d/heartbeat/.ocf-directories : ${HA_BIN:=/usr/libexec/heartbeat} 改成 : ${HA_BIN:=…
1.经典错误之 无法访问已释放的对象. 对象名:“System.Net.Sockets.Socket”     (1).问题现场   (2).问题叙述 程序中的某个地方调用到了socket.close后,这个socket还被调用,就出爆出上面错误! (3).解决方案 使用下面一句: if (stsend != null && stsend.Connected) stsend != null :这一句在socket.close之后,会无效的,因为关闭socket连接时已经将其所有连接的资源都…
一个简单的Demo,只是在程序窗口绘制出一个矩形 找到以下代码,注释掉其中一句 效果:…
最近项目中遇到一个需求调整:table中的文字过长居左排列,数字居右排列 然后看了一下官方文档: 先上图展示一下 左边是需要的效果: className: 'column-left', { title: '执行内容', dataIndex: 'implementContent', className: 'column-left', key: 'implementContent' } //需要加入的样式 td.column-left{ text-align: left !important; }…
React的Element是React应用程序的最小构建块,它是用来描述我们在屏幕上看到的浏览器页面上的内容. 在React中构建 Element 有两种方式: 1.JSX的方式,JSX不是React的必用技术,但它可以用来产生一个 React “element”. const element = ( <h1 className="greeting"> Hello, world! </h1> ); 2.使用React.createElement方法 方法声明:…
函数式的表示: function Welcome(props) { return <h1>Hello, {props.name}</h1>; } Class式的表示: class Welcome extends React.Component { render() { return <h1>Hello, {this.props.name}</h1>; } } 对于React来说,上面这两种写法它认为是等价的.…
重复是不可能的,这辈子都不可能写重复的代码 当然,这句话分分钟都要被产品(领导)打脸,真的最后一次改需求,我们烦恼于频繁修改的需求 虽然我们不能改变别人,但我们却可以尝试去做的更好,我们需要抽象,封装重复的功能或者逻辑,而不是老旧的重复着机械的复制粘贴修改 那么我们如何去封装 React 中的组件以及逻辑呢? 这次我们来讲讲 React 里的高级组件 React 高级组件有两种方式: 使用高阶组件( Higher Order Component ==> HOC ) 子组件作为函数的模式( Ren…
React入门介绍-ReactDOM.render()等基础 首先,React是一个用于构建用户界面的Javascript库,但Peact并不是一套完整的MVC或MVVM的框架,它仅涵盖V-view视图层.JSX是javascript的扩展,像Typescript,coffeeScript等一样,都是Javascript的语法糖,最终都要变编译成JS执行,建议使用JSX的代码进行React的开发.因为Javascript代码与JSX代码并不兼容,凡是使用JSX的地方我们都需要加上 type="t…