react的一些思考】的更多相关文章

在做好第一个需求之后,我接到了一个react写的产品,这让我异常的兴奋,终于能写react了 开始做的时候整体框架已经搭建好了,这让我有点小失落,我还以为我要开始搭框架了呢,没事,搭的也挺好的. 有了angular和vue的基础,react上手也不是哥事,但是看了两天的api,感觉还是没入门,直接写项目代码吧,忐忑不安的就这样去写了,果然遇到了大坑. antdui的坑,form表单必须通过阿里提供的api才能改变input框里的值,用就用吧,但是不能在生命周期里用,因为那样会触发下次的生命周期,…
1.事件处理中的this指针问题 在 react 中,用 class 声明一个组件,调用 class 中的方法时,如果该方法中有 this 且没有手动绑定 this 指针,则会发生 this 指向 undefined 的问题. class LoggingButton extends React.Component { constructor(props) { super(props); this.state = {isToggleOn: true} } handleClick() { this.…
2015-02-26 孙镜涛  InfoQ Eric Florenzano最近在自己的博客上发表了一篇题为<Facebook教我们如何构建网站>的文章,他认为软件开发有些时候需要比较大的跨越,而这将会在2015年再次上演,主角们则是Facebook的React.js.Relay和GraphQL. Eric Florenzano在该文章中提到:2003年Brad Fitzpatrick发布了Memcached,由此开启了LiveJournal架构的时代:2004年Google发布了MapRedu…
在我们的前端项目里经常会用到级联的select,比如省市区这样.通常这种级联大多是动态的.比如先加载了省,点击省加载市,点击市加载区.然后数据通常ajax返回.如果没有数据则说明到了叶子节点.   针 对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作.比如这个页面上显示了某个区,这时候我切换省,要把市 重新初始化数据,然后区域的部分要从页面中删除.这个判断是非常烦躁的.所以之前碰到这个问题时,就直接使用递归删除省下面的所有子,然后再重新生成市. 所以j…
https://reactjs.org/docs/getting-started.html  //React官方文档地址 1.入门 此页面是React文档和相关资源的概述. React是一个用于构建用户界面的JavaScript库.在我们的主页或教程中了解React的全部内容. 试试React 学习反应 保持知情 版本化文档 有什么遗失? 试试React React从一开始就被设计为逐步采用,您可以根据需要使用尽可能少的React.无论您是想体验React,为简单的HTML页面添加一些交互性,还…
前言 阮大师写入门教程能力一流. 首推它的Redux三篇入门文章. http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.html http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_two_async_operations.html http://www.ruanyifeng.com/blog/2016/09/redux_tutor…
关于react的一些思考 所有的数据全部先要发送给容器,然后容器负责接受数据单后再分发数据给他下面的组件,通过props来传递,一个页面就可以相当于一个容器,容器之中就会有很多子组件,一般组件只负责接受容器的数据的渲染,容器来处理组件的状态 开始redux redux主要是三个部分组成 Action 在这里定义一些操作和操作需要的数据交流 Reducer 这里需要定义数据,也就是state然后要根据不同action做出不同的操作 Store 这个主要就是起到链接作用的 然后主要的数据流向是 在你…
文章和教程 Vue 学习笔记 Node 学习笔记 React 学习笔记 Angular 学习笔记 RequireJS 学习笔记 Webpack 学习笔记 Gulp 学习笔记 Python 学习笔记 Egret 引擎学习笔记 流处理,TCP 和 UDP,WebRTC 和 Blob 学习笔记 博客 前端回忆录 | 前端笔记本 - 一个前端博主记录的心得和总结 Hasnode - Hashnode 是在您的个人域 free 上免费创建开发者博客并通过我们的全球开发者社区与读者联系的最简单方法! ‍‍…
本文主要内容来自React官方文档中的"Thinking React"部分,总结算是又一篇笔记.主要介绍使用React开发组件的官方思路.代码内容经笔者改写为较熟悉的ES5语法. React--在我们看来,是用javascript快速开发大型web应用的捷径.这在Facebook和Instagram实践中得到了证实. 零 任务描述 假设我们已经拿到了一个蹩脚设计师给的设计稿: 从后端返回来的一组json数据包括商品类,商品名,价格和库存: [ { "category"…
React中父组件与子组件之间的数据传递的的实现大家都可以轻易做到,但对比很多人的实现方法,总是会有或多或少的差异.在一个团队中,这种实现的差异体现了每个人各自的理解的不同,但是反过来思考,一个团队用了同样的UI,同样的框架,实现方式确实有差异,这其实就是工程化的问题. 回到React中父组件与子组件之间的数据传递的问题上来. 父组件与子组件之间的数据传递的实现方式大致可以分为2种情况: 1.子组件用flux环传递数据,父组件监听子组件的Store来获得数据流. 我个人认为这种方式的优点的是 数…
( _(:3 」∠)_给园友们提个建议,无论是API文档还是书籍,一定要多看几遍!特别是隔一段时间后,会有意想不到的收获的)   这篇文章主要是写关于学习react中的一些自己的思考:   1.setState到底是同步的还是异步的? 2.如何在子组件中改变父组件的state 3.context的运用,避免"props传递地狱" 4.组件类里有私有变量a,它到底改放在this.a中还是this.state对象中(作为属性a)呢?   1.setState到底是同步的还是异步的? cla…
在我们的看来,React是使用js创建大型快速网站应用的首要方法.它在Facebook和Instagram的使用已经为我们展现了它自己. React的一个很好的地方就在于当你创建应用的时候它使你思考如何创建.在这篇文档里,我们会带着你使用React创建一个查询产品数据表的流程. 以一个仿制品开始 想象我们已经有了一个JSON接口和一个设计师设计的仿制品.它的样子就像这样: 我们的JSON接口返回的数据就像这样: [ {category: "Sporting Goods", price:…
( _(:3 」∠)_给园友们提个建议,无论是API文档还是书籍,一定要多看几遍!特别是隔一段时间后,会有意想不到的收获的)   这篇文章主要是写关于学习react中的一些自己的思考:   1.setState到底是同步的还是异步的? 2.如何在子组件中改变父组件的state 3.context的运用,避免“props传递地狱” 4.组件类里有私有变量a,它到底改放在this.a中还是this.state对象中(作为属性a)呢?   setState到底是同步的还是异步的? class MyCo…
琼玖 1 年前 (写的零零散散, 包括github不怎么样) Table 是最常用展示数据的方式之一,可是一个产品中往往很多非常类似的 Table, 但是我们碰到的情况往往是 Table A 要排序,Table B 不需要排序,等等这种看起来非常类似, 但是又不完全相同的表格.这种情况下,到底要不要抽取一个公共的 Table 组件呢 ( 懒一点, 不抽, 配置配资)?对于这个问题, 我们团队也纠结了很久,先后开发了多个版本的 Table 组件,在最近的一个项目中, 产出了第三版 Table 组件…
目录 setState到底是同步的还是异步的? 如何在子组件中改变父组件的state? context的运用,避免“props传递地狱” 组件类里有私有变量a,它到底改放在this.a中还是this.state对象中(作为属性a)呢? 正文 ( _(:3 」∠)_给园友们提个建议,无论是API文档还是书籍,一定要多看几遍!特别是隔一段时间后,会有意想不到的收获的)   这篇文章主要是写关于学习react中的一些自己的思考:   1.setState到底是同步的还是异步的? 2.如何在子组件中改变…
一.前后端完全分离 1.用React.js做MVC中的V,剩下的交给Laravel 2.Laravel用来做API接口开发. 3.好处:实现了前后端开发的分离,从而加快前后端开发效率.另外若是多端的如web+android+IOS则更有必要,这样三端共用一个后端,加快开发效率. 4.仔细想下: 用 React.js 搭建前端视图,然后用ajax或者fetch(axios)来和 Laravel 通信.Laravel 写的接口代码几乎都在Controller里面. 二.分离后SPA应用常需要服务端渲…
Hooks 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性. 使用 React hooks 转化 class 的一些思考   Hooks 其实已经是大势所趋的一个技术了,作为一个可能是 React,甚至是 JS 史上都是一个比较伟大的发明,Hooks 已经被大部分中小型公司所接受并尝试使用,但是对于大中型公司来讲,从 class 组件移植 Hooks 的成本太高,不能像其他公司一样随心所欲地拥抱新技术,所以我们对于 H…
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖拽效果. 首先,其实拖拽效果的思路是很简单的.主要就是三个步骤: 1.onmousedown的时候,启动可拖拽事件,记录被拖拽元素的原始坐标参数. 2.onmousemove的时候,实时记录鼠标移动的距离,结合被拖拽元素第一阶段的坐标参数,计算并设置新的坐标值. 3.onmouseup的时候,关闭可拖拽事件…
三个原则 single store render from top immutable data single store,便于组件之间通信. render from top,因为store就一个,每次修改后,从最顶层开始渲染,依赖DOM diff和人工shouldComponentUpdate判断来提高渲染性能. immutable data,当你使用第三方组件,为了防止他内部对你的single store进行黑箱子修改操作,所以你可以传入immutable data给他.根据第三方组件的回调…
源码查看: React 版的TodoList=> 点击跳转 Vue 版的TodoList=> 点击跳转 用React实现的思路: React使用注重的思想是少用state,纯函数实现功能思想. 用React实现的todolist中,双向绑定数据功能需要自实现,通过对 <input/> 的value与 <li/>中的数据进行绑定,从而实现添加显示. 难点: 对state的使用,注意引用值的问题.解决办法在README.md文档中已经指出 用Vue实现的思路: 在Vue中,…
优势一.声明式开发 首先react是声明式的开发方式,这个与之对应的是命令式开发方式,之前在用jquery写代码的时候,都是直接来操作dom,直接操作dom的这种编程方式,我们把他叫做命令式的编程,也就是我要创建一个页面,我要一点点的告诉dom,你要怎么去挂在,你要怎么去做,这种编程方式我们叫做命令式的编程.回头想想,我们代码里面有60%到70%的代码都在对dom进行操作. 那什么是声明式的代码,其实react就是一个声明式的开发.可以这么理解,假设我要去盖一栋楼,把这栋楼理解成一个网页,用jq…
前端开发现在已经从传统的后端web多页面开发模式转向前端单页SPA开发模式,而vuejs/react/angular则是开发SPA非常优秀的前端框架.组件化开发由react最早提出,vuejs后发优势,将组件化开发贯彻到了极致.虽然spa开发由于组件式开发带来的组件重用,可维护,可扩展非常好,但是css样式的管理一直是一个令前端团队头疼的问题,特别是当页面越来越复杂,并且有多个SPA页面时如何能够让样式重用,并且可维护,可扩展并没有一个特别有效和被验证过的普适方案.本文试图总结一些css模块化在…
今天我主要是从开发 **不同产品** 和 **技术力量差别** 两个方面来做一个比较: Native 除了两端的技术力量要求高.花的功夫多,没毛病,看你有没有这个实力. Flutter 通过实现中间层来实现跨端,不大量使用底层服务的情况下,UI 跨端,性能没问题,组件无法满足自身要求时得自己要写 Dart,对于中等规模的应用不失为一个好选择. Quasar 代表使用 Web 方向的 Vue 技术进行开发,打包成混合应用,体验差异不可避免,使用底层服务限制过多.依赖插件,基本上定位在数据展示型应用…
声明式开发 减少dom操作,减少代码量 可以与其他框架并存 组件化开发 单向数据流 视图层框架 大型项目需要与其他数据层框架一起使用 函数式编程 方便自动化测试…
1. 组件化开发:将可以复用的部分独立封装成一个组件,每个部分的数据互不影响…
官方example 中basic-click-counter <script type="text/babel"> var Counter = React.createClass({ getInitialState: function () { return { count: 0 }; }, handleClick1: function () { this.setState({ count: this.state.count + 1, }); }, handleClick2…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长”这是大家共同的理想.除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰. Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师.每周都会举行嘉宾分享,话题讨论等活动. 上一期我们邀请了腾讯SNG工程师“王少鸣”分享了…
前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目地就是要尽量避免直接操作dom元素,所以我们在对dom元素进行操作的时候需要注意,我之前为了获取form的参数就直接用了var dragBox=document.getElementById('form')去找dom,但是其实记录from的初始位置,可以在其子组件更新父组件参数的时候调用.即在MyF…
前言 总括: 本文采用react+redux+react-router+less+es6+webpack,以实现一个简易备忘录(todolist)为例尽可能全面的讲述使用react全家桶实现一个完整应用的过程. 代码地址:React全家桶实现一个简易备忘录 原文博客地址:React全家桶实现一个简易备忘录 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书) 博主博客地址:Damonare的个人博客 人生不失意,焉能暴己知. 技术说明 技术架构:本备忘录使用rea…
前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue&react的源码分析,我感觉这里有必要说下我的认识. 首先,要写源码分析很难,第一是他本来就很难,所以一般我们是想了解他实现的思路而不是代码: 第二每个开发者有自己发风格,所以你要彻底读懂一个人的代码不容易,除非你是带着当时作者同样的问题不断的寻找解决方案,不断的重构,才可能理解用户的意图. 我们…