react
文章平均质量分 57
前端同学
学习为主,兴趣为辅,致力于向前端更深层次发展。
展开
-
说一下类组件和函数组件的区别?
1. 语法上的区别:函数式组件是一个纯函数,它是需要接受props参数并且返回一个React元素就可以了。类组件是需要继承React.Component的,而且class组件需要创建render并且返回React元素,语法上来讲更复杂。2. 调用方式函数式组件可以直接调用,返回一个新的React元素;类组件在调用时是需要创建一个实例的,然后通过调用实例里的render方法来返回一个React元素。3. 状态管理函数式组件没有状态管理,类组件有状态管理。4. 使用场景类组件没有具体的要求。函数式原创 2022-04-14 15:56:58 · 4574 阅读 · 1 评论 -
Vue和react的异同
共同点Vue和React存在着很多的共同点:数据驱动视图组件化都使用 Virtual DOM1. 数据驱动视图在jquery时代,我们需要频繁的操作DOM来实现页面效果与交互;而Vue和React 解决了这一痛点,采用数据驱动视图方式,隐藏操作DOM的频繁操作。所以我们在开发时,只需要关注数据变化即可,但是二者实现方式不尽相同。2. 组件化React与Vue都遵循组件化思想,它们把注意力放在UI层,将页面分成一些细块,这些块就是组件,组件之间的组合嵌套就形成最后的网页界面。原创 2021-08-23 17:13:46 · 1248 阅读 · 5 评论 -
react this.setState 异步和同步原理
React 中 setState 什么时候是同步的,什么时候是异步的?isBatchingUpdates 判断是否批量更新,默认值为 false,当更新完成时又会被复原为 false在React中,如果是由React引发的事件处理(比如通过onClick引发的事件处理,自身的事件处理函数或 react 生命周期触发时),isBatchingUpdates 会被赋值为 true,调用setState不会同步更新this.state。绕过React通过addEventListener直接添加的事件处理函原创 2020-10-15 11:06:43 · 1156 阅读 · 0 评论 -
react hook的setState后,不会重新render页面
1.state hook : set同一变量的话不重新renderimport React, { useState } from 'react';export default function Test() { const [state, setState] = useState({ filter: { start: moment() .startOf('month') .format('YYYY-MM'), end: momen原创 2020-06-03 15:59:30 · 4143 阅读 · 2 评论 -
React+Dva 当改变models中的state时,props中数据改变但不触发render事件导致页面无法再次更新渲染,深拷贝JSON的缺陷
dva是一个很好用的状态管理框架,最近遇到了一个就是当改变models中的state时,props中数据改变但不触发render事件导致页面无法再次更新渲染贴上错误代码:models文件: state: { items: [],//是一个引用数据类型,除了基本数据类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6)之外都是 ...原创 2020-04-11 11:26:33 · 3030 阅读 · 0 评论 -
react 父组件的state值为什么会被子组件props引用的改变
父<Modal title={'编辑模板'} style={{ top: 10 }} width={500} visible={this.state.editModal} onCancel={() => { this.setState({ editModal...原创 2019-12-24 10:44:03 · 471 阅读 · 0 评论 -
react组件的销毁(解决组件数据留存的问题)
这个年龄是封装的一个下拉列表,然后因为调用的是相同的一个组件,然后当上面选择3岁的时候,在勾选下面的一开始的初值也是为3发生这种原因是因为组件重复渲染 但没有被销毁所以只要销毁上面的那个组件即可。 {this.state.visible ? <AtFloatLayout isOpened={true} > <Selector d...原创 2019-10-19 16:09:29 · 6783 阅读 · 0 评论