看板 Ajax 關於我們 聯絡資訊
大家好,我想用React-Redux做一個紀錄遊戲賽局紀錄的APP. Reducer的state的資料結構會是如下: { 'gameId1':[score1, score2, score3], 'gameId2':['score1',score2] } 然後當用router進入到/game/1的頁面時可以用map去處理gameId1的list值, 把這些score條列式的顯示,但是實際上map無法動態顯示值, 但如果寫死一個相同資料結構的變數餵給 map是會顯示的. https://codesandbox.io/s/q727wq2xrq 我做了一個這個問題的簡單範例網址如上,我在Reducer中寫死了一個Id, state為初始值{'1':[]},當我按一下按鈕Increace會把我寫死在Action的data傳送 到state['1']的list,我預期會map動態顯示在頁面上,用console去檢視裡面的值 也是正常的但無法顯示,而我用const定義了一個test_list是可以成功顯示的, 想請教大家這中間的原理,是不是我Reducer用法錯誤了,謝謝大家. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.225.3 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1524018361.A.C15.html
freeccc: https://codesandbox.io/s/jp3244nz25 關鍵字 immutable 04/18 14:48
goomoni: 檢查一下component有沒有rerender 04/18 16:25
nicehorse06: @freeccc 謝謝你! 我發現我對Object.assign()很不熟 04/18 22:50
nicehorse06: 所以我原本的寫法跟=是一樣的,這是個問題 謝謝! 04/18 22:53
nicehorse06: @goomoni 我想說console去看state都有變化 04/18 22:54
nicehorse06: 如果state變了 component也會rerender才會 04/18 22:55
goomoni: 不對喔!要看你state的結構,有時後react並不會比對出差 04/18 23:05
goomoni: 別,所以才有immutable js 04/18 23:05