用react写的cnode单页应用

#1

一个WebApp版的cnode客户端,项目采用react技术栈构建。组件选用的是Material-UI,让界面更适合触控操作。
感谢来自cnodejs论坛官方提供的api!麻烦各位看官帮忙star一下,马上要开始找工作了,谢谢各位!
项目地址 https://github.com/lumia2046/cnode

1 Like
#2

没有发现热更新功能,加上就更好了。截图的头像好熟悉,竟然盗用大神头像。

#3

热更新?是有的啊,每次编译都能自动更新的哦

#4

在哪配置的?热更新跟页面刷新不一样的概念哦。热更新是页面局部更新,不需要刷新整个页面。很好奇你在哪里做了这个配置。
只是inline: true,的话,并不是热更新的概念。

#5

页面局部更新是什么意思?我的热更新是在package.json的cli里配置的webpack-dev-server --progress --hot --watch.在命令行里设置hot参数可以自动添加HMR插件,我的注释里都有些哦

#6

不知道我说的热更新跟你说的是不是一回事,按照你说的热更新要怎么配置?

#7

我记得webpack-dev-server只支持页面自动刷新,也就是刷新前端服务器。

#8

:grinning:如果前端代码修改的话,必须要刷新页面吧?你的意思是后端传过来的数据改变了,前端页面自动刷新?问题是一般的网页不请求数据,后端怎么会自动传数据进来?目前还没研究那样的

#9

那要达到你说说的自动刷新,要怎么配置呢?

#10

热更新是前端开发最重要的功能之一,如果每次都要刷新页面,那么每次都要重新加载js,这样对开发很不方便,具体怎么配置网上搜的到一堆答案,只是告诉你有这个功能,想必你这么厉害网上找一下就会了。

至于怎么实现局部热更新呢,第一,跟react的diff有关,第二,跟webpack有关。

#11

你的代码我下载看了,可惜用webstorm一打开就无响应,只能换其他工具打开。
说几点建议吧,希望你找工作面试的时候少被面试官吐槽,话说面试官都挺狠的。

1、ajax接口的封装,看了action部分的代码,ajax接口可以提取出来作为公共模块;

2、组件处理的问题,发现你很多组件都是用极客学院的material来做的,据我的了解,蚂蚁金服的组件antd比较多公司会用,用antd做的话至少可以给自己增强点自信要多点工资。

3、react开发的难点不在于页面的制作,而是组件化开发,如果组件没有做好,那么首先复用性就会打折扣你的组件化拆分的还是有一些小问题,可以继续优化。

4、看了你的组件,发现很多state都是交给组件内部去管理,并没有通过redux来维护,那么我觉得既然这样,还不如不要redux为好,一个框架如果没用好,就会增加额外的性能消耗和影响开发效率、以及项目结构的美观。

5、最后说一点,代码之间该换行的换行,该空格的空格,保证可读性很重要,在任何一家公司的CTO都会这样提醒。

概念性的东西不想说了,如果你还是个学生,那么做到这样很厉害了。不出几年,又是前端界的一个大牛。

#12

你好,对于redux我也有点疑惑,因为我设想的是store管理的状态大部分是跟网络请求相关,或者各个组件通信都要用到的。而单独一个组件内部才用到的状态,我就交由组件自身去管理状态。请问你的意思是把组件自身与其他组件不想关联的状态也全都交给redux管理吗?全部交由redux管理的话我知道会有一定的好处,但是这样会不会使得整个数据流通过程变慢,比如评论组件里的切换点赞状态,也要交给redux管理的话,而store树因为存储了很多数据是很庞大的,这样会不会影响速度?

#13

谢谢你的指点:grinning:,另外,我开发都直接用submine,为什么要用webstorm这么大的ide呢?有什么好处吗?

#14

对于ui的话,那个material-ui好像是外国公司开发的吧?都没有中文文档。material-ui在github上已经有2万多star了,ant-design是8000多,所以我当时选了material-ui

#15

IDE功能强大啊,提示好,调试功能强,我也见过有的程序员很自信的说用记事本写代码。
开发不是为了表现自己手写能力强,难道你不想早点写完代码然后做点自己喜欢的事情吗?比如上社区聊聊天。
关于redux,你想怎么用他,他就能给你怎样的功能,各种管理都避免不了性能的问题,不然阿里的那些人也不用老是考虑怎样优化网站的性能了。
包括diff算法,如果项目大到了一定的程度,就会发现热更新的计算延迟会变长,这些都是性能上会带来的问题,不过如果老板能配置一台超级计算机,就ok了。

#16

我最近也对一些组件内的state要不要交给redux管理感到困惑…

#17

:grinning:

#18

问一下,为什么我安装之后打开浏览器什么都没有而且报错,bundle.js中unspected tiken <

#19

不会吧?我今天特地试了一下,完全没问题,你是环境方面没下载好妈?我用的是cnpm安装的模块,然后node版本是6.9