#react

React半科普文

React半科普文什么是Reactgettingstarted文件分离Server端编译定义一个组件使用property组件嵌套组件更新VirtualDOMreactnative以下是官方定义,反正我是没看懂。google了下,大家都称之“前端UI开发框架”,勉强这么叫着吧。可以看下这篇文章对r...
代码星球 ·2020-07-24

React的合成事件

React的事件处理使用合成事件(SyntheticEvent),不是原生事件。1.合成事件的异步访问合适事件为了节约性能,使用对象池。当一个合成事件对象被使用完毕,即调用该对象的同步代码执行完毕,该对象会被再次利用。其属性会被重置为null。所以异步访问合适事件的属性,是无效的。解决方法有两种:1.1用变量记录事件属...
代码星球 ·2020-06-29

React16废弃的生命周期和新的生命周期

1.React16废弃的生命周期有3个will:componentWillMountcomponentWillReceivePropscomponentWillUpdate废弃的原因,是在React16的Fiber架构中,调和过程会多次执行will周期,不再是一次执行,失去了原有的意义。此外,多次执行,在周期中如果有s...

React.lazy懒加载组件

1.React.lazy的用法React.lazy方法可以异步加载组件文件。constFoo=React.lazy(()=>import('../componets/Foo));React.lazy不能单独使用,需要配合React.suspense,suspence是用来包裹异步组件,添加loading效果等。&...
代码星球 ·2020-06-29

vue和react的diff算法的区别

vue和react的diff算法,都是忽略跨级比较,只做同级比较。vuediff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点。1.vue比对节点,当节点元素类型相同,但是className不同,任务是不同类型元素,删除重建,而react会认为是同类型节点,只是修改节点属性2.vue的列表比...

React和Vue的区别

1.react更多的是进行视图转换,对状态涉及很少,vue除了处理视图,本身还会管理状态,例如,watch,compouted等2.react不会自动更新视图,只能手动setState,vue基于数据驱动,会自动更新视图3.react更倾向于函数式编程,vue倾向于响应式编程4.虚拟DOM更新机制不同,vue会跟踪组件...
代码星球 ·2020-06-29

react-router v4 参数传递

react-routerv4参数传递有3中方式,分别是params,query和state。1.params(路径参数)parrams的传递要在路由配置上添加参数,是路由路径的一部分,在斜杠后面写参数,就是路径参数。//路由表<Routepath='/user/:id'component={User}>&l...
代码星球 ·2020-06-29

React.memo与PureComponent

React.memo是一个高阶组件,本质就是一个函数。基本形式如下:React.memo(functionlComponent,areEqual) React.memo与PureComponent作用一样,都是用来减少组件渲染。区别如下:1. React.memo针对函数式组件,PureCompon...
代码星球 ·2020-06-29

React Hooks基本类型

useState生成状态useEffect执行副作用(不会阻塞浏览器渲染,原理是使用了requestIdleCallback,在浏览器空闲时执行callback)useContext获取context参数useReducer修改状态useCallback缓存函数useMemo缓存变量useRef生成ref和存储任意类型...
代码星球 ·2020-06-29

React.lazy和React.Suspense异步加载组件

在React16.6中引入了React.lazy和React.Suspense,这两个组件,可以用来实现异步加载组件。例如:constjohanComponent=React.lazy(()=>import(/*webpackChunkName:"johanComponent"*/'./myAwesome.com...

React错误收集

1.  UncaughtError:Elementtypeisinvalid:expectedastring(forbuilt-incomponents)oraclass/function(forcompositecomponents)butgot:undefined.Youlikelyforgot...
代码星球 ·2020-06-29

React事件传递参数

<buttononClick={(ev)=>{this.handleClick(ev,arg1,arg2,...)}}用箭头函数,注意第一个参数一定要是事件参数。...
代码星球 ·2020-06-29

React的diff算法

React的diff算法主要是两个Tree的比较。传统的Treediff算法复杂度是O(n^3),React是算法通过一些策略将复杂度将为O(n).1.优化策略1.网页中的DOM跨层级移动的特别少,可以忽略不计2.相同类型的组件生成相似的树形结构,不同类型的组件生成不同的树形结构3.同一层级的节点,可以通过唯一id来区...
代码星球 ·2020-06-29

React获取组件实例

1.直接newComponent()组件本身也是class,可以new,这样的组件实例意义不大componentInstance=newComponent();2.ReactDOM.render返回组件实例(React新版本已失效,返回null)componentInstance=ReactDOM.render(<...
代码星球 ·2020-06-29

warning: React does not recognize the xxx prop on a DOM element

这是React不能识别dom元素上的非标准attribute报出的警告,最终的渲染结果中React会移除这些非标准的attribute。通常{...this.props}和cloneElement(element,this.props)这两种写法,会将父级别无用的attribute传递到子级的dom元素上。例如:fun...
首页上一页...1112131415...下一页尾页