![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
react
文章平均质量分 62
kellywong
这个作者很懒,什么都没留下…
展开
-
构建属于你自己的基于react的前端UI组件库
一. storybook二. eslint+prettier+changelog构建代码规范三. 文档(gitbook/vuepress)四. 版本管理原创 2021-05-13 17:32:00 · 1195 阅读 · 3 评论 -
详解react hooks(含高阶组件)
一. 面试中出现的关于hooks的题目1. 简单介绍下什么是hooks,hooks的优点?React Hooks是react团队研发的,它主要有两方面作用:用于在函数组件中引入状态管理和生命周期方法取代高阶组件和render props来实现抽象和可重用性在hooks出现之前,只有在类组件中可以使用本地状态管理和生命周期方法,函数组件只能是无状态组件,因为函数组件使用便利优雅,已经被广泛使用,后期如果函数组件需要承担一些副作用,只能把它重构成类组件,hooks的出现就不需要重构了。它帮助函数组原创 2020-06-01 15:22:38 · 26311 阅读 · 5 评论 -
大厂面经 ----- 详解react 16之前的生命周期(附带完整demo)
1. 父子组件的生命周期执行过程1.1 首次渲染父constructor => 父componentWillMount => 父render => 遇到子组件进入子组件的生命周期 => 子constructor => 子componentWillMount => 子render => 子componentDidMount => 父componentDidMount1.2 数据更新数据更新主要是两个主要的生命周期componentWillRece原创 2020-05-28 20:24:51 · 348 阅读 · 0 评论 -
react中进行状态提升,多个组件公用的组件提到父组件
我们使用一个日期和毫秒实时转化的样例作为例子,像图中这种,上面输入日期,下边可以实时转为毫秒,同时毫秒也可以实时转为日期:大概思考的方向:首先需要一个输入组件,承载用户的输入;然后需要一个父组件存放这两个输入组件。如果把state放在子组件中,那再父组件中调用的两个子组件就是完全相互独立的,就不能实时更新,因此我们需要把state提升到父组件中,既然state提升到父组件中了,那么两个子组件...原创 2018-11-19 13:47:51 · 1077 阅读 · 0 评论 -
项目遇到的问题以及解决方法---h5页面回退,保留前一个页面用户浏览位置
具体需求描述:一个h5的产品列表页,用户滑动列表页,当用户滑动到感兴趣的产品,点击进入详情页,浏览完详情页在回退到列表页能保留之前用户浏览位置。(react下开发)1.开始什么都没做,回退的时候自然无法保留用户浏览位置。2.然后考虑怎么解决,最开始的想法是保留scrolly的值,在回退的时候使用window.scrollTo()强制回退到上次浏览位置。但是这面临着一个问题,回退相当于重新加载页...原创 2019-02-22 17:55:17 · 2281 阅读 · 1 评论 -
h5拖拽api (drag,drop)实现多图片拖动排序,兼容移动端
需求:h5页面实现允许多张图片上传并且支持对图片长按拖动排序,由于我们的h5页面在pc端和移动端都有入口,因此拖动排序需要兼容pc和移动端。这里不涉及图片上传,只涉及对上传的图片进行拖动排序。在开发前需要知道,h5拖拽api(drag/drop)基本只支持pc端(但是,我在实际开发中,发现很多安卓手机也支持这个api, ios端不支持),因此我们如果使用拖拽api,需要做移动端的兼容。如果完全自...原创 2019-04-08 19:26:20 · 6637 阅读 · 0 评论 -
react实现pc端图片轮播
1.开始展示多张图片效果图:点击左右按钮的时候可以滑动,当向左滑动完成之后,有按钮消失;当像右滑动完成之后左按钮消失。 解决方法:可以直接使用jquery的动画效果。。。(开始想使用原生js,各种报错。。。后边在想下) 具体操作:首先react组件中的图片是循环输出的,每次点击一个城市,其相应的景点信息就会输出在它的下方,需要操作的内容如下: <div classNa...原创 2018-08-21 09:36:26 · 7071 阅读 · 1 评论 -
多个组件实例上添加事件监听器导致的问题
问题描述:最近在做项目遇到一个问题:项目是一个mvc的框架,在项目站内切换的时候不会卸载上一个页面的组件,这就会导致一个问题,如果一个组件被多个页面调用,并且该组件上涉及到添加事件监听器,如果使用getId的方式获得dom并添加事件监听器,那势必会导致在a页面的时候调用这个组件,并在a组件实例上添加了监听器,当进入到b页面使用getId的方式获得dom是a页面的,并且监听器也并没有被移除,那再b...原创 2019-05-10 16:21:10 · 1416 阅读 · 0 评论