react

React Native 环境搭建和HelloWorld

£可爱£侵袭症+ 提交于 2020-03-02 20:43:36
搭建环境仅此记录,主要参2和3进行环境配置(2中打开项目时候,遇到了问题3) 参考: 1.搭建开发环境 2.react-native环境配置 3.Make sure that you have run npm install and that you are inside a react-native project 来源: CSDN 作者: 倒骑驴走着瞧 链接: https://blog.csdn.net/nongminkouhao/article/details/104611967

从父级调用子级方法

。_饼干妹妹 提交于 2020-03-02 16:56:09
我有两个组成部分。 父组件 子组件 我试图从父级调用孩子的方法,我尝试过这种方法,但没有得到结果 class Parent extends Component { render() { return ( <Child> <button onClick={Child.getAlert()}>Click</button> </Child> ); } } class Child extends Component { getAlert() { alert('clicked'); } render() { return ( <h1 ref="hello">Hello</h1> ); } } 有没有一种方法可以从父级调用子级的方法? 注意:子组件和父组件位于两个不同的文件中 #1楼 首先,让我表示,这通常 不是 在React领域中解决问题的方法。 通常,您要做的是将功能传递给props中的子代,并传递事件中子代的通知(或者更好的是: dispatch )。 但是,如果 必须 在子组件上公开命令式方法,则可以使用 refs 。 请记住,这是一个逃生舱口,通常表示可以使用更好的设计。 以前,仅基于类的组件才支持引用。 随着 React Hooks 的出现,情况不再如此 使用挂钩和功能组件( >= react@16.8 ) const { forwardRef, useRef,

react监听URL的正确方式

↘锁芯ラ 提交于 2020-03-02 15:00:11
react如何正确监听URL? 1、原生js硬刚 componentDidMount(){ window.addEventListener('hashchange', this.routerEvent); } componentWillUnmount(){ window.removeEventListener('hashchange',this.routerEvent); } routerEvent = (e)=>{ // e.target.location.hash.replace("#","") // 去掉#就能获取即将跳转的那个路由的url了 } Tips:addEventListener之后一定要remove,否则跳转路由后,原有的事件又没消除, 会导致注册了越来越多的事件; 另外,removeEventListener的第二个参数指向的函数 必须 要跟addEventListener传入的函数是同一个函数(这点非常容易错) 这种方式还有种缺点,它只监听到了hash的变化, 而如果是#aaa?page=1跳到了#aaa?page=2,监听不到; 2、react router自带的history.listen componentDidMount(){ this.props.history.listen(route => { console.log(route); //

随行付微服务前端开发框架React Admin

会有一股神秘感。 提交于 2020-03-02 11:03:52
前言 React-Admin是基于 React16.x 、 Ant Design3.x 的管理系统架构。 采用前后端分离,内置了许多管理系统常用功能,通过一些脚本、封装帮助开发人员快速开发管理系统,集中精力处理业务逻辑。 背景 一般的互联网公司内部或者对外都会有大量的管理系统,传统公司一般有后端开发人员进行管理系统开发,所用技术大多都是jsp、模版语言等。 随着公司的发展,管理系统数量和复杂度不端增加,开发人员耗费大量的精力在开发和维护管理系统上。 由于管理系统大多是公司内部使用,很多公司、团队并不重视,导致可用性差、bug多、页面丑陋。使用者怨声载道,开发者苦不堪言。。。 技术迭代 随着前端的技术发展迭代,传统的基于后端模版语言、jQuery的开发方式已经过时,难以应对复杂的需求、快速的项目迭代。 近几年随着React、Es6等技术的兴起,让前端可以与后端分离、可以组件化模块化,拥有了构建大型复杂项目的能力。 困难 WebPack开发五分钟,配置两小时,各种解决方案要结合:React、组件库、Redux、Router、ajax、国际化、主题、Less、CSS Module。。。 社区上有很多好的工具、组件,但是整合起来形成系统的解决方案的寥寥无几。要自己做一个?基础代码才刚刚写的溜,还要加班改bug,哪儿有时间搞框架~ React-Admin介绍 React

大厂都在裁员,我们该何去何从?

旧巷老猫 提交于 2020-03-02 09:56:45
就在前段时间,下班回家的路上,看到群信息,说: 听说、听说京东裁员了~ , 也是就在上月,也一度被传的沸沸扬扬的: 阿里 、 京东 、 华为 相继被曝停止社招,新闻也是满天飞舞,不管是裁员,还是停止社招,这些事情没有落在亲身经历,没有落在自己身上我们都会觉得 不痛不痒 ,毕竟一个旁观者,永远无法感受当事人的喜怒哀乐~。 俗话说: 人无远虑 必有近忧 ,假如当你遇上裁员,又该如何面对~ 看到这个新闻,第一时间想到的是自己,当然啦,大家别慌, 我没有被裁 ,不用紧张, 工作几年下来相信大家或多或少遇到过一些要么自己、要么身边的朋友、同事,都有过一些欠薪、公司倒闭、团队解散甚至 裁员 的事。 嗯,还有刚刚过去的掘金 往事不堪回首 为什么说想到自己呢?我没有被裁过,但** 团队解散过 **,这个事情得从去年说起: 从毕业到现在,工作也有些年头了,这些年多多少少也遇到过一些机会, 2014年中旬,一个阿里PHP大佬,自己创业,做婚庆的电子请柬,记得那个时候特别流行 H5移动微场景制作 ,某企秀、兔*,之类的公司应风而起,包括到现在好像也还做的不错,当时是兼职业余时间帮做一些前端工作,一直持维了近一年时间合作的都很不错,后面更是亲自邀请我让去他公司玩一下,来回车票都包销(公司在湖南),再后来提出让全职去他公司(合伙性质),基础保底年薪是 20W ,但最近因为不在深圳

【使用指南】WijmoJS 前端开发工具包

冷暖自知 提交于 2020-03-02 08:04:56
为方便广大前端开发人员更好的使用 WijmoJS 前端开发工具包,葡萄城专门推出了 WijmoJS 使用指南,该指南详细地介绍了如何把 WijmoJS 各种强大的功能应用到您自己的 Web 项目中,助您轻松掌握产品使用技巧,快速完成产品选型。 本指南由四个部分组成: 下载安装 产品评估 前端开发指南 WijmoJS 求助中心 下载安装 产品下载地址 安装包下载 NPM 方式下载 To install release build Latest: > npm install wijmo Specific version (e.g. 5.20173.431): > npm install wijmo@5.20173.431 (Note that the above doesn’t work right now because there is no release version on npm) To install nightly build Latest: > npm install wijmo@nightly Specific version: > npm install wijmo@5.20173.431-nightly.d20180312.t0720 Note that nightly build versions use the suffix that denotes the

记解决 `antd is not defined` 解决ant design 打包体积过大的问题

天大地大妈咪最大 提交于 2020-03-02 07:22:54
用 react antd开发了一个页面,最 后webpack打 包的大小竟然达到了 1.9M , gzip压缩之后也有500kb。 这超出了能承受的范围,我一个小网站哪有这么大的带宽。 1. 找原因 开始的时候并不知道是antd的锅,后来发现了一些工具可以提供UI来分析打包的js的组成部分。比如这个: https://www.npmjs.com/package/webpack-bundle-analyzer 借助这个工具,我看到了打包的js绝大部分都是antd带来的。我首先确认了我配置了antd官方提供按需加载的,所以应该不是按需加载出了问题。然后经过仔细分析发现主要是下面4个原因: icons antd的icons占用了很大的部分。原因是正常情况下icons是不会按需加载的,只能全部引用。很多人也遇到这个问题,antd官方给出了一个workaround,稍微有点麻烦,因为你需要自己去找你引用了那些icon:https://github.com/ant-design/ant-design/issues/12011#issuecomment-420038579 base css 我的页面基本上只用了一个table,但是antd的css体积也达到了了几百kb。原因是antd的css虽然可以按需加载,但是一些基础的base css是一定会被打包的。这一点没有找到解决方案。 moment

React Native iOS环境搭建

倖福魔咒の 提交于 2020-03-02 06:49:57
感觉React Native会越来越多的公司开始研究、使用。所以周六也抽空搭建了iOS的开发环境,以便以后利用空闲的时间能够学习一下。 废话不多说了,下面简单的列出步骤吧。 1. 安装Homebrew Homebrew主要用于安装后面需要安装的watchman、flow 打开MAC的终端,输入如下命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 经过漫长的等待后,安装完成。执行 brew doctor 命令。这是homebrew 完成后必须做的一件事,检查homebrew 各模块是否正常 2. 安装nvm和nodejs nvm是用于nodejs版本管理的工具,用于安装nodejs。 对于nvm应该可以使用brew直接安装,但是我没有用这个安装,读者可以自己使用如下命令试试: brew install nvm 我使用的另一种方式,在终端中输入如下的命令: brew install node . 该命令执行后,自动装好node和npm 这个用于安装nodejs和npm。npm用于nodejs包依赖管理的工具。 3. 安装watchman watchman是用于监听文件变化的工具,应该是用于监听文件变化,然后界面做出响应。执行如下命令: brew

react native 安装

☆樱花仙子☆ 提交于 2020-03-02 06:29:06
http://blog.csdn.net/xu_fu/article/details/48571941 http://www.csdn.net/article/2015-09-24/2825787-react-native Last login: Wed May 11 21:38:13 on console zcldeMacBook-Air:~ zcl$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ;==> This script will install: /usr/local/bin/brew /usr/local/Library/... /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew ==> The following directories will be made group writable: /usr/local/. /usr/local/bin ==> The following

React:快速上手(1)——基础知识

自闭症网瘾萝莉.ら 提交于 2020-03-02 05:15:48
React:快速上手(1)——基础知识 React (有时叫 React.js 或 ReactJS )是一个为 数据提供渲染为HTML视图 的 开 源 JavaScript 库,用于 构建用户界面 。 JSX、元素及渲染 1、关于JSX   JSX(JavaScript XML)是 JavaScript语言语法的扩展。与HTML相似 , JSX提供了一种使用许多开发人员熟悉的语法来构建组件呈现的方法 。 React组件通常使用JSX编写,组件也可以用纯JavaScript编写,只是太麻烦。     例如,我们使用JSX可以很轻松的描述一个视图 <div>   <p>Header</p>   <p>Content</p>   <p>Footer</p> </div>   而如果们用纯JavaScript来描述的话,则要写大量createElement,非常不直观且很难维护。 React.createElement('div', {className: '...'}, React.createElement('p', /* ... p children ... */), React.createElement('p', /* ... p children ... */), React.createElement('p', /* ... p children ... */) ); 2