4 年 React 经验 写出这样的业务代码,请问代码质量如何,有什么值得改进的地方吗

19 天前
 rookie2luochao

github 仓库地址为:openapi-ui

求各位大佬 review 代码,并指导一二

6190 次点击
所在节点    程序员
76 条回复
vczyh
19 天前
学习学习
rookie2luochao
19 天前
@vczyh 后端都要疯狂卷前端了吗?给我们留口饭吃😭😭😭
maocat
19 天前
学习学习,粗略看了下,内联样式比较多,可以用用 tw
rookie2luochao
19 天前
@maocat 没有用 tailwindcss 完全是个人爱好😭,本人以前一直就比较喜欢 cssinjs 这种接近内联样式的写法(因为写 css 写的不多), 后面为了考虑剥离 cssinjs ,所以将其改成了内联样式写法
gdtdpt
19 天前
学习学习,看了一下 http 的源码,刚好最近也遇到关于 antd 主题的问题,就是 axios 的拦截器定义是在 react 环境外的,所以在拦截器中直接使用 message 、notification 、modal 静态方法无法响应 antd 的全局主题配置,antd 官方也不建议直接使用此类静态方法。我看 demo 中切换为暗色主题后,当出现"Network Error"的 notification 依然是亮色主题,说明也存在这个问题。想问一下有没有什么好的解决方案,我是用了 vanillajs 的事件机制,不知道有没有其他方案想学习一下。
jones2000
19 天前
数据请求为什么不放在 woker 里面, 这样后续做批量压测也好搞点, 放 UI 线程里面,又慢,还不能批量。
enchilada2020
19 天前
@jones2000 能详细讲讲吗 或者给个参考资料啥的也行
jones2000
19 天前
rookie2luochao
19 天前
@gdtdpt 确实也遇到了这个问题,但是 message 、notification 、modal 静态方法不能切换主题,就弹一下,好像就暂时忽略了
vczyh
19 天前
@rookie2luochao 有个疑问,cssinjs 这种对缓存影响大吗?
rookie2luochao
19 天前
@jones2000 请问这个要怎么理解?数据请求放 worker 里面?
rookie2luochao
19 天前
@vczyh 不会,打包后,hash 都是算好固定了的,可以支持缓存的
rencoo
19 天前
文件命名比较随意,有中划线格式的,也有驼峰的;用 useEffect deps 都是不对的,eslint 一打开全是报错;组件的状态和视图逻辑未分离,可以用 useReducer 抽一下。
总体感觉,像一坨大便,估计在大公司要被喷死
jones2000
19 天前
@rookie2luochao 多线程
realJamespond
19 天前
不应该用 axios 的拦截器这样写所有实例都被拦截你和别人写的项目别人会疯掉,可以自己写个 hook 包一层,useTryCatch(request),返回结果和 loading 状态,同时在自己的 hook 里面也能用 antd 通知组件
rookie2luochao
19 天前
@rencoo useEffect deps 确实是不对的,执行 package.json 里面的 lint 可以看到,需要手动修复,这里[有篇文章]( https://developers.pub/article/1020466)你也可以看下,eslint 一打开全是报错是因为我加了强行排序 props 的 warn, 但是我还没有来得及推 eslint --fix 后的代码。命名如何随意了,与你认知不一样而已?组件大写开头,文件夹、函数小写字母 + 中划线?非玻璃心,但是你的一坨大便的评价太随意。我并没有用任何模板,自己能加这么多 eslint 规则,你觉得我会不知道那些 eslint 警告和报错?
rencoo
19 天前
@rookie2luochao 你用了 useEffect 确不显式的声明依赖,会导致各种奇怪的 bug ;另外我说的是文件命名,有的是 xx-xx-xx ,有的是 XxxXxx 这种,就很乱?另外每个组件里都很多 useState 会让渲染组件失去可读性
rookie2luochao
19 天前
@realJamespond 不应该用不应该用 axios 的拦截器?可否标记到 github 上面的某一行代码?
rencoo
19 天前
你是找人 review ,所以给你指出问题,你不会以为自己代码写的很优雅吧?笑死
qingshui33
19 天前
最近正好在看 React 来着,想咨询个问题,React 中比较流行的编写 CSS 的方式是啥啊?
我看 op 好像是行内样式居多,我个人在写的时候,用的 CSS Module ,但是遇到了这么个问题,就是有的组件,通常一个文件就可以解决,这个时候不想新建文件夹,因为文件夹下就只有这么一个文件,但是如果要把 CSS Module 文件放一起的话,就得新建个文件夹,否则组件多了,感觉就会很乱,大家都是怎么处理这种情况的?

还有个问题就是,React + ts 的时候,大家都是怎么快速找到各种事件对象的类型?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1047570

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX