react

react print

爷,独闯天下 提交于 2020-01-28 15:15:42
印刷しないエリアId:NonePrintDiv 印刷するエリアId:printDiv //npm install --save html2canvas import html2canvas from 'html2canvas'; //印刷ボタン処理 document.getElementById('NonePrintDiv').style.display = "none"; html2canvas(document.getElementById('printDiv')).then( (canvas) => { this.setState({ printStyle: { visibility: 'hidden' } }, () => { window.print(canvas); this.setState({ printStyle: {} }); document.getElementById('NonePrintDiv').style.display = ""; }); } ); //必要なCSSスタイル //const printTestCss = 'style/printTest.css'; //<link rel="stylesheet" type="text/css" href={printTestCss} /> <link rel="stylesheet" type=

React Native学习-控制横竖屏第三方组件:react-native-orientation

女生的网名这么多〃 提交于 2020-01-28 13:36:13
在项目中,有时候可能会想使不同的页面显示的横竖屏也不一样,比如前一段我做的《广播体操》的项目,在首页面,肯定是想使页面为竖屏显示,但是播放页面要为横屏显示,即使用户的手机可以转屏,我们的播放页面也要是横屏显示。 有这样的需求,我们可以借助react-native的第三方组件,react-native-orientation。 官方文档: https://github.com/yamill/react-native-orientation 安装 1.如果项目正在运行,先关闭模拟器和终端; 2.执行安装命令:npm install --save react-native-orientation; 3.执行命令:rnpm link 4.现在使用的版本为1.15.0,link执行过之后,我们要需要手动配置 iOS: 1.用Xcode打开项目,右键点击项目名称,选择 “Add Files to ‘项目名’ “ ; 2.找到路径文件: 项目文件夹/node_modules/react-native-orientation/RCTOrientation ,将该文件添加上; 3.然后重新运行项目; Android: 用法 componentWillMount() { // 判断横竖屏幕 var initial = Orientation.getInitialOrientation(); if

React-native 跨平台原理

你说的曾经没有我的故事 提交于 2020-01-28 12:25:52
1、为什么React native 可以跨平台 其实通过react native的架构图就明白了,下面我们就根据架构图来理解一下为什么react native可以实现跨平台: (1)、React:不同平台上编写基于React的代码,“Learn once, write anywhere”。 (2)、Virtual DOM:相对Browser环境下的DOM而言,Virtual DOM是DOM在内存中的一种轻量级表达方式(原话是lightweight representation of the document),可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信。 (3)、Web/iOS/Android:上层与用户交互的UI界面。 React-Native在JavaScript中抽象操作系统原生的UI组件,代替DOM元素来渲染,使用的是Android或iOS的本地控件,所以在UI渲染上已经非常接近Native App了。尽管业务逻辑代码使用JavaScript,但由于JavaScript是即时编译的,也就是第一次使用时会将JavaScript代码编译成二进制文件,所以JavaScript得运行效率比较高。因此,React Native的运行效率要比基于HTML5、CSS等技术的PhoneGap、AppCan高很多

WEB前端资源项目整合

纵然是瞬间 提交于 2020-01-28 11:58:06
vue.js高仿饿了么(1-13章全) 链接:https://pan.baidu.com/s/1qYSiYXluA1AlEV0EskxWZw 提取码:25z9 Vue.js 2.5 + cube-ui 重构饿了么 App 链接:https://pan.baidu.com/s/1UZyLkzYMvhUhhX3GH5ITvA 提取码:bx53 Vue2.0 + Node.js + MongoDB全栈打造商城系统 链接:https://pan.baidu.com/s/10Jm22uzp4p2NMMRlNac7Rg 提取码:uns3 Vue 2.0 高级实战-开发移动端音乐 WebApp 链接:https://pan.baidu.com/s/1RvF1KziTgq4HEaIVnCvz1w 提取码:v0vb vue去哪儿无密APP 链接:https://pan.baidu.com/s/1vQMWuSNJJ8OrxoGVcZTgtw 提取码:u3yz Vue全家桶+SSR+Koa2全栈开发美团网 链接:https://pan.baidu.com/s/1KTzsYSB5-Ua47r-jArSgJw 提取码:qwen 7天搞定Node.js微信公众号开发 链接:https://pan.baidu.com/s/1Aw6be7tp8ysDs0N1H7Kf_Q 提取码:gf6q Vue + Node +

React入门最好的学习实例-TodoList

旧时模样 提交于 2020-01-28 11:16:38
前言 React 的核心思想是:封装组件,各个组件维护自己的状态和 UI,当状态变更,自动重新渲染整个组件。 最近前端界闹的沸沸扬扬的技术当属 react 了,加上项目需要等等原因,自己也决定花些时间来好好认识下这个东西。然后花时间自己写了一个demo: react-todos , 你可以先 点这里去看react-todo react首先值得拍手称赞的是它所有的开发都基于一个 组件(component) ,组件和组件之间传递方法,而且每个组件都有一个 状态(state) ,当方法改变了这个状态值时,整个组件就会 重绘 ,从而达到刷新,另外,说到重绘就要提到 虚拟dom 了,就是用js模拟dom结构,等整个组件的dom更新完毕,才渲染到页面,简单来说只更新了相比之前改变了的部分,而不是全部刷新,所以效率很高。 项目初始化 大家先新建一个项目文件夹,在里面建一个项目信息的文件 package.json : { "name": "react-todos", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC",

第一部分--基础--React API

痞子三分冷 提交于 2020-01-28 07:55:40
React 虽然平时我们都喜欢说我们用React作为我们的核心框架,但其实大部分人都不知道React到底是个什么东东。事实上自从Facebook把React和ReactDOM分包发布之后,React就不仅仅是一开始的前端框架了,如果在15版本之后去看一下react和react-dom的源码大小,你就会发现,react仅仅1000多行代码,而react-dom却将近2w行。是的你没看错,而且你很可能也没有想错,其实大部分的框架逻辑都在react-dom当中,那么react到底是个什么东东呢? 关于版本,本文是在React16+的基础上写的,React16相较于之前的版本是核心上的一次重写,虽然主要的API都没有变化,但是增加了很多能力。并且首次引入了Fiber的概念,之后新的功能都是围绕Fiber进行实现,比如AsyncMode,Profiler等。 我们来看一下React暴露出来的API const React = { Children : { map , forEach , count , toArray , only , } , createRef , Component , PureComponent , createContext , forwardRef , Fragment : REACT_FRAGMENT_TYPE , StrictMode : REACT

[React] Extend styles with styled-components in React

早过忘川 提交于 2020-01-28 04:31:30
In this lesson, you will learn how to extend styles from one styled-component to another in a React app. This is helpful when you have two styled-components that are similar but differ in one or more CSs properties. import styled from 'styled-components'; export const Button = styled.button` background-color: #FF851B; border-radius: 5px; color: white; display: block; font-weight: bold; font-size: 22px; padding: 16px 32px; text-transform: uppercase; margin: 100px auto; `; export const HelpButton = styled(Button)` background-color: #FF4136; margin: 15px; position: fixed; bottom: 0; right: 0; `;

改造antd的Modal组件使其可拖拽

时光怂恿深爱的人放手 提交于 2020-01-28 04:27:24
最近几个月在做一个react的项目,项目做到了百分之八十,然后业务要求项目里面的模态框可以拖拽,呵呵,早不提,晚不提,偏偏现在提,尽管我心里骂了一万遍,可是还是只能老老实实搞啊,毕竟谁叫人家是上帝,吾等凡人只能任其宰割,不说了,说多了都是泪! 项目用的ui框架是antd-design,相信开发过react项目的都对它不陌生,几乎是react项目首选的ui库,毕竟阿里出厂,质量保证,但是坑爹的是它的Modal组件没有拖拽功能,而且官方明确表示,将来也没有支持的计划,在github上跟踪相关issue, 的确找到了几个大神改造后的版本,我都一一验证了,但是总有各种各样的问题,没办法,只能自己动手实现了,时间比较紧张,花了大半天时间撸出来的,比较简单粗暴,主要实现了下面的功能 1. 鼠标点击title区域可以开始拖拽,鼠标抬起停止拖拽 2. 模态框只能在可视区内拖动,不会拖出可视区 3. 对于一个页面有多个模态框的情况,先点击A,再点击B,可以让B在A的上面,如果项目中的模态框不设置蒙层,那么可以实现点击谁就出现在上面 待完善: 1. Modal的center属性必须是true,即垂直居中,否则无法准确计算出拖拽原点 2. 拖拽不够流畅 友情使用提示 1. 对于一个页面有多个模态框的情况,,比如 a -> b -> c,那么一定要给 a的zIndex设置大于1000的数字,后续的b

React Native学习----选择器组件react-native-picker

元气小坏坏 提交于 2020-01-28 01:11:46
1. 准备,地址:https://github.com/beefe/react-native-picker 2. 日期选择: _showTimePicker() { let hours = [], minutes = []; for(let i=1;i<13;i++){ hours.push(i + '点'); } for(let i=0;i<60;i++){ minutes.push(i + '分'); } let now = new Date(); let cdate = []; let daySum = Util.isLeapYear(now.getFullYear()) ? 366 : 365 ; let week = ['周日','周一','周二','周三','周四','周五','周六'] for(let i=0;i<daySum;i++){ var d=new Date(); d.setDate(now.getDate() + i); cdate.push((d.getMonth()+1) + '月' + d.getDate() + '日 ' + week[d.getDay()]); } let pickerData = [cdate, ['上午', '下午'], hours, minutes]; let date = new Date(); let

[Yarn] Use Yarn dlx to Execute Packages without Installing Them

╄→尐↘猪︶ㄣ 提交于 2020-01-27 22:54:41
yarn dlx can be used to run packages without installing them. This is useful for packages like create-react-app and gatsby that scaffold out apps for you, so you don't have to keep updating your global versions. yarn dlx create-react-app newapp 来源: https://www.cnblogs.com/Answer1215/p/12237046.html