非常基础非常初级非常幼稚的 React 开发看了想打人的 React 开发最佳实践,但我保证每个大公司都有这样的代码,所有的屎山项目都是这么累计起来的而且大家不以为意。
多层 props 传递,保持命名一致
onChange
→ onChange
→ onChange
✅
onChange
→ handleChange
→ change
❌
若对函数包装后传递,保持命名不一致
onChange
→ onTextChange = () => { onChange() }
→ onTextChange
✅
onChange
→ onChange = () => { props.onChange() }
→ onChange
❌
保持命名简洁
onChange
✅
handleChange
❌
保持命名明确
onChange
paginationTotal
✅
change
pagiTotal
❌
传递不同组件的 props ,保持前缀区分
tableColumns
tableLoading
btnType
btnText
✅
columns
loading
type
text
❌
将 props 按照一定的规则排序,例如 UI 中出现顺序、或变量类型、或重要程度等
保持文件与目录的命名,单复数符合常规
common
config
components
utils
✅
commons
configs
component
util
❌
''
与 0
在 jsx 中一定要做判断
val !== '' && 123
val !== 0 && 123
✅
val && 123
❌
保持文件、文件夹大小写一致
ShopList
ShopDetail
✅
shop-list
ShopDetail
❌
保持文件夹命名与 url 对应
/Shop/List.jsx
→ /shop
✅
/BestShop/List.jsx
→ /shop
❌
保持文件夹层级与 url 一致
/Shop/A.jsx
→ /shop/a
、/Shop/B.jsx
→ /shop/b
✅
/Shop/A.jsx
→ /shop/a
、/Shop/Center/B.jsx
→ /shop/b
❌
理清文件、文件夹设置逻辑,尽量减少数目,思考是否有必要新增
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.