轮流介绍一下自己的 React 经历?

#1

说说最早是怎么接触到 React 的, 这些年下来有什么感想, 公司技术如何如何?

要是要招人相关的内容请压缩在一行内谢谢.

好吧… 谁先开始?


Translations:

How did you know React in the first time? What do you think React has brought to you and what will React do in the future? How do you use React in you company?

Would like to hear more sharing.

#2

最早 2015 年接触 React,当时被 React 的 JSX 语法给恶心到了,一直不愿意学。

后来忍着恶心学了一下,发现也没有那么不可接受,于是继续深入了解 React。

当时公司里的技术栈是 Baccbone + Requirejs。

经过几年的发展,现在新项目和部分旧项目都改造成 webpack + babel + react/react-native 的模式。

技术氛围、可维护性,甚至页面性能,都有大幅提升。

这里是上海携程度假研发部,感兴趣的同学,可以发简历给我,yj_gu@ctrip.com。

7 Likes
#3

去年我们转成qap开发,是阿里千牛一套开发体系,用的是阿里的类react,rax开发。在此之前我们h5是内部一个类似Backboned的框架(现在pc,以及其他部门还在继续使用)。

总体而言,全部重构之后,已经能够轻松驾驭了。我们尽量控制对react的重度使用,因为重构的成本实在太高了。

2 Likes
#4

15年接触react , 之前公司是php + jquery+ bootstrap.
然后 react+redux+webpack 直接上,死了好多脑细胞.
jsx 写起来很爽,组件化工程化,一下子规范了前端的开发流程.

#5

接触 React 之前公司用的 Backbone 做比较复杂的单页面应用. View 层用的模板引擎加 jQuery 为主, 觉得很难受, 尝试了 Ractive 和 Vue 之类自动更新的方案, 当时都觉得面对大型应用方案不够成熟, 刚好 Flux 发布, 就开始研究 React + Flux 的方案. 后面加上之前有接触 Haskell 的经历, 对 React 这套函数式编程方案挺来劲了, 在这个方向越挖越深.

现在工作当中还是 React 的内容, 不过使用的技术栈偏保守, 因为业务涉及的组件和逻辑会比较复杂. 自己个人项目在用 ClojureScript 以便完全使用不可变数据来构造数据. ClojureScript 用了快两年了, 希望更多同学往这边看.

4 Likes
#6

2015年10月份实习时开始学习和接触react的,公司前端用的react+backbone+requiresjs,跟楼上有点像,工具用的grunt,现在换成了webpack,当时只会用html+css写点页面,然后每天看资料,看代码,试着写点小demo,每天新建一个记事本记录当天学习的内容和疑问,然后向同事请教,同事和领导都很好也很耐心的指导我,现在都特别感谢他们。
实习第一个月基本就是自学,把公司用到的框架、库和一些概念性的东西都过了一遍,有了自己的理解,然后就尝试着改一些页面,写多了也就熟练了,使用react写页面最大的感受就是组件复用性,然后方便修改和维护。到后面就学习cordova打包,然后公司人少,后端当时用的sails+mysql/cassandra, 开始尝试写一些增删改查的接口。

1 Like
#7

React很好的帮我走出了技术舒适区,从以前熟悉的MVC等模式转换到React+Redux这种数据驱动的设计开发模式还是蛮大挑战的,前期坑很多,坚持下来自然能发现React的好。

#9

2015年初遇上了react,当时react-canvas正火。后来看了《React:引领未来的用户界面开发框架》一书, 慢慢入门了。在第一份工作的时候,尝试在传统项目中引入react,来解决复杂交互。期间看了《reactjs up and running》, 根据书中思路,自己开发了一个全功能的table组件,包括排序,行内编辑,分页,增删改查等。后来通过项目实践,不间断看react github issues和翻译国外的文档,深入掌握了react技术栈。在使用react过程中,逐步体会到react在可维护性,团队合作,解决复杂交互,跨平台等方面优秀的表现,现在在公司项目中尽可能去尝试使用react,挖掘react潜力。
腾讯新闻招聘前端工程师 这里有丰富的react项目,涉及移动,pc,h5游戏等,投递phpython8@gmail.com

1 Like
#10

去年才接触到的,主要源自于项目需要,去年年初在做在线H5编辑器时入手的react,并用来做前端架构。
相看一眼,发现这是对的人。哈哈。
从react -> redux -> react-router -> … 一步一步地接触探索。
今年希望能够把react的源码看懂!

1 Like
#11

才接触不久react,做过5年的 Canvas H5游戏开发,再早前做as,落幕了。最近偶然发现一个同行的产品,做的相当的炫富,一开始以为也是用canvas开发,仔细一看是用的react。从而激起了我对 React 的好奇。

目前正在渡劫中,没有小伙伴,自己各种探索学习。

#12

我是15年接触react,其实react很简单,就是一个Dom渲染层,我们需要借助好多插件来处理它的数据层,以及插件进行spa,Es6之后react完全拥抱Es6,和Es6结合很好用,现在还在用React,个人感觉react挺好用的

#13

我是 15 年开始用 React 的,那时候 flux 的概念刚刚出来,就是想试一下,就从 Angular 换到 React 了。我们还是用的 reflux,但是那个时候还没有觉得 flux 比 Angular 那种 OO 的思想好多少,只是觉得 React 的 convention 比 Angular 的各种 &, @, = 简单太多了。

后来是接触了 redux 和 FP 以后就真正体会到了这种范式的强大,这个时候正好创业遇到问题,又回到大公司。想在大公司推行 FP 的编程范式,结果发现大家都是一个文件写几个 class ,一个 class 可以有几百行,里面各种 renderXXX 方法,各种基础的规范都没有做好,FP 更加痴心妄想。

最后还是回到了初创的小公司,招学习能力强没有坏习惯的人,慢慢培养团队和技术框架、规范。

总的来说我觉得现在 React 甚至前端环境已经在慢慢稳定下来了,之前因为工程复杂度不够,导致工程实践的生态和标准不够,导致整个生态和标准在需求驱动下快速变化的情况在慢慢消失了,在很多通用领域的工具、标准已经得到了大多数人的认可。于是就有了比较好的条件,可以在匹配自己公司业务的场景下,做出更稳定的技术沉淀。比如工业聚的 react-imvc 就是一个很好的例子,我们也在 react-starter-kit 的基础上,封装了自己的 starter, cli 工具和通用库。

未来会继续用这套框架,替换掉老的项目,一步一步验证和优化它的可用性。

4 Likes
pinned globally #14
#16

刚接触,刚学完js,前几天一位老技术员告诉,现在用js的不多了,都是组件,然后跟我介绍了react框架,让我学习。 懵逼中,对于样式,完全空白,现在也就对H5 和CSS 还有JS的基本代码了解。
跪求大家带我入门。

1 Like
#17

看了眼账号在 react-china 的注册时间是 15 年 2 月份,估摸着自己应该也是在 15 年初左右接触的 React。

React 主要是打开了新世界的大门,自己又急切着想要学习更多的东西,所以就一见钟情。不过,嗯,可能当时自己能力确实比较弱, React 对我的冲击还是比 Flux 小很多,看 Flux 源码,看 Redux 源码,对比 Angluar 的 MVVM,对比 backbone 的 MVC,靠着对设计模式的一点点分析和理解,一个末流二本生敲开了阿里的大门。

后来再看 React,给我带来了确实很多,为了学习 React 的思想,去学了 Lisp,看了半本『SICP』,为了能看懂 diff 算法,去看了整本『算法』。

这里是阿里巴巴国际用户体验技术部,感兴趣的同学,可以发简历给我,zhengwei.hzw###alibaba-inc.com

3 Likes
#18

16年接触到react,当时被它的组件化开发给惊艳到了,原来还可以这样玩,因缺思厅。
学redux是比较痛苦的,经历了一段时间才逐渐了解其中的思想

1 Like
#19

刚接触,课余时间学习react

1 Like
#20

你好看到你说自己开发了一个全功能的tabel组件,一定很厉害,能否帮助我解决一个反选和全选功能耦合的问题,我只能实现单一的全选或者反选。代码网址 https://github.com/ww545/Checked.git

#21
  1. https://github.com/tujs/tui/tree/master/src/components/table 这是我之前写的table组件
  2. react开发的基本思路是将界面抽象为状态,反选对应的操作是将对应行的属性checked取反,全选对应的操作是将所有行的属性checked设置为true,每一行的属性checked可以独立放到一个数组中,也可以放到行的数据中,不过建议放到一个数组中
  3. 设计的关键在于行的索引和数组中数据的索引对上,然后去更改数组就可以了
  4. 在每一行渲染选项框的时候,将数组中对应索引的数据和选项框的checked属性绑定,同时绑定onchange事件,就可以收集到索引了
  5. 单选和多选的本质是获取行索引,然后再最后提交的时候,从数据源中通过索引数组来筛选出需要的值。
#22

刚接触,技术栈初定为MERN(MongoDB+Express+React+Node.js),向大家学习!

1 Like