首页
学习
活动
专区
圈层
工具
发布

React-Native 版高仿淘宝、京东商城首页、商品分类页面

项目地址:https://github.com/pengzhenjin/react-native-mall 效果图 已实现功能 沉浸式状态栏 酷炫的顶部导航动画 消息角标 循环轮播图 搜索 商品一级分类...Animated.event([{nativeEvent: {contentOffset: {y: this.state.logoOpacity}}}])(event) // 将滚动的值绑定到边距动画...0~80 extrapolate: 'clamp' // 滚动超出0~80的范围,不在更改边距 }) const marginTop = this.state.searchViewMargin.interpolate...0~-36 extrapolate: 'clamp' // 滚动超出0~160的范围,不在更改边距 }) return (...measure 方法的参数 x,y 表示组件的相对位置,width,height 表示组件的宽度和高度,pageX,pageY 表示组件相对于屏幕的绝对位置。

4K10

前端无法让我冷静

行内标签和块标签有哪些以及都有什么特点 块标签 每一个块属性标签都是从新的一行开始,而且之后的元素也都会从新的一行开始 可以设置宽度、高度,行高,距顶部距离,距底部距离 块属性标签的宽度假如不做设置,会直接默认为父元素宽度的...div>、、…、、、、、、 行内标签 行属性标签它和其它标签处在同一行内 无法设置宽度,高度 行高 距顶部距离...React 组件生命周期 React生命周期分为了 挂载(装配) 、 更新 、 卸载 以及 捕错 四个状态阶段 react怎样提高性能 react的组件渲染分为初始化渲染和更新渲染 vue页面之间的通信...第一种,父子组件通信 一.父组件向子组件传值 二.子组件向父组件传值或更新父组件值 vuex 状态管理模式、集中式存储管理 介绍一下CSS的盒子模型 盒模型:内容(content)、填充(...减少 HTTP 请求数量 控制资源文件加载优先级 利用浏览器缓存 减少重排 减少 DOM 操作 图标使用 IconFont 替换 原生DOM对象转jQuery对象: var box = document.getElementById

3.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端

    行内标签和块标签有哪些以及都有什么特点 块标签 每一个块属性标签都是从新的一行开始,而且之后的元素也都会从新的一行开始 可以设置宽度、高度,行高,距顶部距离,距底部距离 块属性标签的宽度假如不做设置...div>、、…、、、、、、 行内标签 行属性标签它和其它标签处在同一行内 无法设置宽度,高度 行高 距顶部距离...image.png React 组件生命周期 ? image.png React生命周期分为了 挂载(装配) 、 更新 、 卸载 以及 捕错 四个状态阶段 ?...image.png react怎样提高性能 react的组件渲染分为初始化渲染和更新渲染 vue页面之间的通信 第一种,父子组件通信 一.父组件向子组件传值 ? image.png ?...image.png 二.子组件向父组件传值或更新父组件值 ? image.png ?

    2.4K41

    react-grid-layout 之核心代码分析与实践

    x,y 坐标计算子组件到顶部和左边的距离分别为 left,top,和子组件的宽度和高度。...calcGridItemPosition - 定位 当我们要知道子组件的定位时,需要计算子组件到顶部和左边的距离和子组件的宽高,实现代码如下: export function calcGridItemPosition...child 实际占的大小 + 子组件 child 之间的边距大小 export function calcGridItemWHPx( // 子组件 child 的宽或高 w/h gridUnits...都共同调用了 onResizeHandler 方法,下面我们来看下 onResizeHandler 函数: onResizeHandler 函数用来更新组件的宽度和高度,调整组件的位置和边界,重新计算并更新布局...总结 通过对 React-grid-layout 源码的学习,我们对它的使用也会更得心应手,这篇文章主要对组件元素的定位、拖拽、缩放功能的源码实现做了详细的介绍。

    4K30

    深入学习下 CSS 间距相关的知识

    边距折叠 简而言之,当两个垂直元素有一个边距,并且其中一个的边距大于另一个时,就会发生边距折叠。 在这种情况下,将使用较大的边距,而忽略另一个边距。...在上面的模型中,一个元素具有底部边缘,而另一个元素具有顶部边缘。 具有较大边距的元素获胜。 为避免此类问题,建议根据本文使用单向边距。...负边距 它可以与四个方向的边距一起使用,在某些用例中非常有用。 让我们假设以下内容: 父级有 padding: 1rem,这导致子级从顶部、左侧和右侧偏移。 但是,子元素应该紧贴其父元素的边缘。...处理底边距 假设以下组件堆叠。 每个组件都有一个底部边距。 请注意,最后一个元素有边距。 这是不正确的,因为边距应该只在元素之间。...间隔组件 是的,你没看错, 有人指出这篇文章讨论了避免边距并使用间隔组件而不是它们的概念。

    15.7K40

    前端开发面试题

    IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。...React.createClass 使用API来定义组件 React ES6 class component 用 ES6 的class 来定义组件 Functional stateless...高阶组件就是一个 React 组件包裹着另外一个 React 组件 并不是父子关系的组件,如何实现相互的数据通信?...使用父组件,通过props将变量传入子组件(如通过refs,父组件获取一个子组件的方法,简单包装后,将包装后的方法通过props传入另一个子组件) 用过 React 技术栈中哪些数据流管理库?...Redux将React组件划分为哪两种? Redux是如何将state注入到React组件上的? 请描述一次完整的 Redux 数据流 React的批量更新机制 BatchUpdates?

    5.7K52

    126.HarmonyOS NEXT 数字滚动示例详解(一):基础结构与组件概述

    组件概述DigitalScrollExampleComponent是一个展示数字滚动动效的示例组件,主要用于演示如何在实际场景中使用数字滚动效果。2....digitalModel/ConstData";// 样式常量const STYLE_CONFIG = { ITEM_GUTTER: 12, // 项目间距 PADDING_TOP: 12, // 顶部内边距...TEXT_MARGIN: 4 // 文本边距}5....使用场景数字刷新展示抢票数量显示实时数据更新计数器效果列表刷新下拉刷新数据动态更新内容交互反馈8....注意事项性能考虑合理使用状态变量控制刷新频率优化渲染性能样式管理使用统一配置资源引用规范主题适配交互体验平滑的动画效果及时的状态反馈合理的刷新时间通过以上详细讲解,你应该能够理解这个数字滚动示例组件的基本结构和配置方式

    21900

    【jQuery动画】停止动画、淡入淡出、自定义动画

    实现效果 代码及思路 总结 ---- 停止动画 使用动画的过程中,如果在同一个元素上调用一个以上的动画方法,那么对这个元素来说,除了当前正在调用的动画,其他的动画将被放到效果队列中,这样就形成了动画队列...> CSS 思路: 1、设置每一个方块的大小、浮动、间距; 2、设置盒子的大小、边距...100px; height: 100px; float: left; margin-left: 5px; } /* 设置盒子的大小、边距...absolute),绝对定位的盒子是相对于离它最近的一个已定位的盒子进行定位的,默认是body; 3、给定义的按钮绑定点击事件; 4、设置动画,当单击鼠标时,div元素运动到距离左侧500px,距离顶部...> 动起来 ---- 总结 以上就是今天的学习内容啦~ 如果有兴趣的话可以订阅专栏,持续更新呢

    3.5K20

    【拓展】655- React 与前端开发的那些年

    当时出现了 jQuery 这类 JS 工具库,主要用来「操作 DOM」,「处理数据交互」,至今仍有很多老旧项目依然在使用 jQuery。...以一个“用户推荐关注页面”为例子,可以将页面简单分为下面几个组件: component 其中: 组件UserPageComponent 为:主页面组件; 组件 HeaderComponent 为:页面顶部标题栏组件...接下来再来看看 React 各个重大版本的更新,这对于你了解 React 很有帮助。 3....React 版本 我们可以在 React 官网中查看 React 的版本迭代历史记录和更新内容:https://reactjs.org/versions/。...「React v16.8.0 (February 6, 2019)」 增加 React Hooks,一种无需编写类即可使用状态和其他React功能的方法,用来解决状态逻辑复用问题,且不会产生 JSX 嵌套地狱

    1.1K31

    译|CSS中的间距,前端开发中各种设置间距的优点缺点及实例

    此外,CSS Tricks还在页边距底部和页边距顶部之间进行了投票。61%的开发者更喜欢 margin-bottom 而不是 margin-top。...请注意,子元素固定在其父元素的顶部。那是因为它的边距折叠了。...处理底部margin 假设以下组件堆叠在一起,每个组件都有底边距。 ? 注意最后一个元素有一个空白,这是不正确的,因为边距只能在元素之间。...结果表明,基于 writing-mode 的页边距工作得非常好。 我认为这些用例就足够了。让我们继续一些有趣的概念! 组件封装 大型设计系统包含许多组件。向其直接添加边距是否合乎逻辑?...使用抽象组件 解决上述问题的一种方法是使用抽象的组件,其目标是托管其他组件,就像Max Stoiber所说的那样,这是将管理边距的责任移到了父元素上,让我们以这种思维方式重新思考以前的用例。 ?

    13.9K10

    「译」为 JavaScript 开发者准备的 Flutter 指南

    在文件的顶部我们看到一个 import : import 'package:flutter/material.dart'; 这是从哪里来的?...void main() { runApp(new MyApp());} 这个函数调用 new MyApp () ,它本身调用一个类等等,类似于 React app,我们有一个由其他组件组成的主组件,...要记住的主要事情是,不像 web 样式,甚至是 React Native 样式 View 会完成所有的布局和一些样式,Flutter 布局是由你选择的组件的类型和它的布局和样式属性的组合决定的,这通常取决于你使用的组件的类型...甚至还有一些布局组件,比如 Padding,它仅接受 Widget,除了向 Widget 添加边距之外不做其它任何事情。...有状态组件可以创建状态、更新状态和销毁状态,这在某种程度上类似于用 React 时可能使用的生命周期方法。 甚至也有一个名为 setState 的方法更新状态。

    2.2K30

    【React】730- 从 loading 的 9 种写法谈 React 业务开发

    来源:ES2049 Studiohttps://www.yuque.com/es2049/blog 前言 这是一篇比较全面讲解 React 的文章,里面很多基础知识希望你自己一边查阅资料一边学习。...Refs 如果你是一个 jQuery 转型 React 的开发,会很自然的想到,我找到 Loading 组件的节点,控制他的显示与隐藏,当然这也是可以的,React 提供 Refs 方便你访问 DOM...现代前端框架 React 和 Vue 其实都是一个套路,通过数据渲染试图,然后视图上操作反过来更新数据,重新渲染视图,刷新页面。...肯定有一定的经验,现在还可以做很多,例如把 loading 状态提升到 Store 的顶部,那整个站点就只有一个 loading 了,然后你还可以将 fetch 再封装一个 HOC 修改 loading...Hooks 刚好帮你解决了这样的问题,Hooks 能允许你通过执行单个函数调用来使用函数中的 React 功能,让你把面向生命周期编程变成面向业务逻辑编程。

    1.1K41

    基础篇章:React Native之Flexbox的讲解(Height and Width)

    通常情况下我们可以使用flex: 1,告诉某个组件来填充剩余的所有的空间,如果是多个组件的话,则是所有的这些组件去平分父容器中的剩余的所有空间。。...height-and-width Flexbox 一个组件可以使用Flexbox指定其子组件或元素之间的布局。...该行的子元素将相互对齐并在行中居中对齐,同时第一个元素与行的主起始位置的边距等同与最后一个元素与行的主结束位置的边距(如果剩余空间是负数,则保持两端相等长度的溢出)。...在其它情况下,第一个元素的边界与行的主起始位置的边界对齐,同时最后一个元素的边界与行的主结束位置的边距对齐,而剩余的伸缩盒项目则平均分布,并确保两两之间的空白空间相等。...stretch:如果指定次轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

    3.2K70

    120. 基础篇 - 垂直分割布局打造课程学习平台

    在本案例中,我们将使用以下HarmonyOS NEXT组件: 组件名称 功能描述 ColumnSplit 垂直分割布局容器,将界面分为上下两部分 Column 垂直布局容器,用于垂直排列子组件 Row...状态,从而触发界面更新,显示对应课程的选中状态。...= [ /* ... */ ] 这些状态变量的变化会触发界面的自动更新,实现响应式的用户界面。...字体大小和边距 在本案例中,我们使用了不同的字体大小来区分不同级别的文本: 主标题:20px 副标题:16px 课程标题:16px 课程时长:12px 同时,我们使用了适当的边距来确保各元素之间有足够的空间...: 内容区内边距:20px 课程项内边距:10px 标题下边距:10px 副标题下边距:20px 导航按钮上边距:20px 导航按钮之间的间距:20px 这种字体大小和边距的设置使界面层次分明,易于阅读和操作

    18800

    Flutter组件基础——Container

    Flutter组件基础——Container Container是容器组件,类似于H5中的标签,亦或者iOS中的UIView,是布局的基础控件。 顶部居中对齐 topRight:顶部右对齐 centerLeft:中间左对齐 center:中间对齐 centerRight:中间右对齐 bottomLeft:底部左对齐 bottomCenter:底部居中对齐...bottomRight:底部右对齐 color:背景颜色 width:宽度 height:高度 padding:子视图距Container的边距 margin:Container距父视图的边距 decoration...的边距-padding padding设置的是子视图,距Container的边距,两种设置方式,通常有两种设置方式,EdgeInsets.all常用于设置所有边距都一致;EdgeInsets.fromLTRB...200px" /> --> [simulator screen shot - iphone 12 pro max - 2021-07-20 at 10.06.51.png] contianer距离父视图的边距

    1.6K40

    waypoint_使用jQuery Waypoint创建粘性导航标题

    摆脱了大多数不可能的直边丝带的几何形状之后,让我们继续。 步骤3:脚本 为了实现浮动标头效果,我们将使用Caleb Troughton的一个名为Waypoints的jQuery插件。...(在此位置,请将nav可能需要的所有垂直边距移动到nav-container ) .sticky { position: fixed; top: 0; } 我们已经准备好了!...不过有一个问题-要使其正常工作,您可能希望导航栏周围的任何垂直边距都应应用于nav-container而不是nav 。 就是这样! 就像许多其他站点一样,我们拥有一个不错的固定导航栏。...看起来是这样的: nav.waypoint( { handler: …, offset: 50 } ) offset可让您在距元素顶部可变距离的位置创建实际的航路点。...使用offset变量,这很容易:对于距顶部15像素的偏移量,请将offset:15px添加到.waypoint()的选项中,然后在.sticky CSS规则.sticky top:0px更改为top:15px

    5.3K30

    javascript如何实现类似西瓜视频的视频队列自动播放?

    rootMargin的知识,可以参考下图介绍: rootMargin接收格式如下:"10px 0px 10px 0px",从左到右数字依次代表top(上) right(右) bottom(下) left(左)边距...,当然我们单位也可以使用百分比(%),为正值时代表扩大更元素的边距范围,负值代表缩小根元素的边距范围,这里我们应该缩小范围,所以rootMargin我们可以这么设置"-180px 0px -180px...0px",这样上下的边距就会缩小,当然大家也可以根据需求设置不同的值。...笔者将采用react来实现,在实现之前我们先准备几个视频素材,然后实现列表基本框架: import React, { useEffect, useState } from 'react' import...代码如下: // VideoItem.js import React, { useRef, useEffect } from 'react'; import DPlayer from 'dplayer'

    3K20

    使用Intersection Observer API实现视频队列自动播放

    rootMargin接收格式如下:"10px 0px 10px 0px",从左到右数字依次代表top(上) right(右) bottom(下) left(左)边距,当然我们单位也可以使用百分比(%),...为正值时代表扩大更元素的边距范围,负值代表缩小根元素的边距范围,这里我们应该缩小范围,所以rootMargin我们可以这么设置"-180px 0px -180px 0px",这样上下的边距就会缩小,当然大家也可以根据需求设置不同的值...笔者将采用react来实现,在实现之前我们先准备几个视频素材,然后实现列表基本框架: import React, { useEffect, useState } from 'react' import...,现在有个问题是我们已经监听到了需要自动播放的视频元素,但是我们如何通知VideoItem组件让其播放呢?...代码如下: // VideoItem.js import React, { useRef, useEffect } from 'react'; import DPlayer from 'dplayer'

    1.8K20
    领券