技術文章
技術問答
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
0
Modern Web
前端知識
系列 第
29
篇
10 React Antipatterns to Avoid - Code This, Not That!
15th鐵人賽
jasonchenchen
2023-10-29 16:55:49
1012 瀏覽
分享至
React Anti-patterns and Solutions
Anti-pattern 1: Big Components
Problem
: Starting off with one big, deeply nested component.
Solution
: Refactor into smaller, reusable components.
Anti-pattern 2: Nesting Components
Problem
: Defining child components inside parent components.
Solution
: Define child components outside the parent component.
Anti-pattern 3: Failure to Memoize
Problem
: Running expensive calculations every time the state changes.
Solution
: Use the `useMemo` hook.
Anti-pattern 4: Useless Divs
Problem
: Wrapping multiple elements in unnecessary `div` tags.
Solution
: Use React Fragments.
Anti-pattern 5: Messy Files
Problem
: Exporting multiple components from a single file.
Solution
: One component per file.
Anti-pattern 6: Big Bundles
Problem
: Slow initial page load due to large JavaScript bundles.
Solution
: Use code splitting and lazy loading.
Anti-pattern 7: Prop Drilling
Problem
: Passing state through multiple layers of components.
Solution
: Use context API for global state management.
Anti-pattern 8: Prop Plowing
Problem
: Components with a lot of different props.
Solution
: Use the spread syntax.
Anti-pattern 9: Messy Event Handlers
Problem
: Using arrow functions for event handlers with multiple arguments.
Solution
: Use curried functions.
Anti-pattern 10: Single Object State
Problem
: Using a single object for all state in a component.
Solution
: Use multiple `useState` hooks, and extract to custom hooks
留言
追蹤
檢舉
上一篇
Better optimistic update
下一篇
ts-reset
系列文
前端知識
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Learn React Hooks: useRef - Simply Explained!
27
Next.js 14.0 ( server action )
28
Better optimistic update
29
10 React Antipatterns to Avoid - Code This, Not That!
30
ts-reset
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19837
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
Seeed XIAO ESP32-S3 透過 UART (921600) 無法發送 AT 指令到 Grove Vision AI V2 (Himax WE2)
Windows XP作業系統,程式存取SQL SERVER 2025失敗
webview cab 封包檔
SAP B1 如何將"自定義表格"匯出並且匯入到另一個資料庫
熱門回答
Windows XP作業系統,程式存取SQL SERVER 2025失敗
SAP B1 如何將"自定義表格"匯出並且匯入到另一個資料庫
熱門文章
大家都怕依賴 AI,但真正天天用 AI 的人似乎沒那麼怕
我不信任 AI 的自律,所以把「限制」寫死在資料庫裡
AI Agent 時代的企業風險:當洩漏的不再只是資料
AI 時代的新能力:定義問題,而不是尋找答案
AI Agent 時代的下一個問題:當第 101 次決策出錯時,誰來負責?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}