點解React咁撚難 !!!

94 回覆
2 Like 54 Dislike
2021-04-06 19:11:02
我做過咁多project,通常只要有async action就會用redux
2021-04-06 19:13:24
有底同無底分別,做開的好自然容易明白人地d 比較新language feature, 同埋個framework 或者成個big picture係做緊乜。唔係做開就比較難,同心急想做到d野出黎,左抄右抄但無個sense 背後其實做緊乜。新手學野真係要比耐性,見網上好多example抄抄貼貼好似好易,一run就有野睇,但要融滙貫通自己做就兩回事。
2021-04-06 19:14:46
在下都係新手,想問下點解async action 點解要redux ? 我唔用redux ,我揀放落componentDidMount()搞async嘢有咩壞處?
2021-04-06 19:15:03
Vue簡潔又夠曬Reactive,用完返唔到轉頭
2021-04-06 19:20:20
其實都好難無async action
2021-04-06 19:28:21
唔用redux可以用MobX
2021-04-06 19:29:14
1. 試想像吓個react tree 有> 10層layers, 呢個時候你個state management 係咪好想要一個so called global state, redux 就係咁了
2. 用useEffect好過用componentDidMount
2021-04-06 19:29:36
最主要嘅麻煩就在於難以管理data,因為我估唔用redux嘅話,你應該就係靠喺fetch完啲嘢之後set state?咁你啲data第二版就用唔到。呢個第一。
第二,唔用redux嘅問題係如果你個component喺拎到data之前unmount,咁你好容易會memory leak,除非你記得喺componentWillUnmount 嗰度cancel個data subscription。

第三,react official係更建議用functional component,咁嘅話你一set state其實就係拎到一個新嘅component,咁如果個component "unmount"咗,就會有memory leak。
2021-04-06 19:31:26
鬼叫人早入行
2021-04-06 19:33:03
btw,functional component 先有useEffect嗰啲hooks,class component係無呢啲嘢。
而functional component個life cycle亦都簡單得多,所以好多新project開始唔用class component。
2021-04-06 19:34:32
1. 嘅情況係唔係可以用context解決?

其實將app state用redux擺晒入global state會唔會違反encapsulation原則
2021-04-06 19:37:00
1. 可以, 不過依家有react redux hook 其實兩者都唔難用
2. 睇情況, 有時好似form input 呢啲local state 只會影響1-2 個components 就用state, 會影響好多layers of components 先用redux, it is just a tool not a rule
2021-04-06 19:37:33
Easy
2021-04-06 19:38:03
context 加 reactquery 加hook基本上夠做
2021-04-06 19:41:26
放太多野係context 有unnecessary rerendering performance issue 雖然唔算大問題


其實我覺得context 太大舊debug好煩
2021-04-06 19:43:38
另外, redux 仲可以搭rxjs (redux observable), 一個action result pipe 去第2個action 玩event driven 係好好用
2021-04-06 19:48:48
可能換個諗法先, 學下點樣個畫面用css 同js 呃到人先, 再學下vuejs (起連登講vuejs 會俾人屌,但我都建議你學下用,始終對新手黎講真係夠簡單) 再深入小小先學 Single File Component

React 對於JS ES6 無底既我覺得會學得相對辛苦小小,畢竟你都係想試下整product 而唔係俾language feature 困住你
2021-04-06 20:05:33
本身program 底打唔好既人學frontend 係好唔friendly
新野出得太快可能呢樣你未清到concept 下一樣新野已經出黎
唔係自己興趣去學好易學到放棄
2021-04-06 20:38:56
咁你既reducer 會分層嘛
2021-04-06 20:41:32
Context係DI手段,亦只係DI手段
亦只有一個好單純嘅原則:context value一變,所有野都rerender

但自從有hook出現之後,大家就覺得useReducer + context === redux
其實根本context只應該放static state(object),即係auth user/theme之類,其餘經常改變嘅state就放redux

當然另一個大原則係local state放component裏面,shared values先放global (redux)
2021-04-06 20:57:38
react 用 hook 咪簡潔D
redux 唔用都得
2021-04-06 21:00:19
唔識 oop,用開 fp
唔係應該會識 array.map?
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞