作者nicehorse06 (嘿嘿馬)
看板Ajax
標題[問題] React Redux用map輸出component的問題
時間Wed Apr 18 10:25:59 2018
大家好,我想用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://webptt.com/m.aspx?n=bbs/Ajax/M.1524018361.A.C15.html
2F:→ goomoni: 檢查一下component有沒有rerender 04/18 16:25
3F:→ nicehorse06: @freeccc 謝謝你! 我發現我對Object.assign()很不熟 04/18 22:50
4F:→ nicehorse06: 所以我原本的寫法跟=是一樣的,這是個問題 謝謝! 04/18 22:53
5F:→ nicehorse06: @goomoni 我想說console去看state都有變化 04/18 22:54
6F:→ nicehorse06: 如果state變了 component也會rerender才會 04/18 22:55
7F:→ goomoni: 不對喔!要看你state的結構,有時後react並不會比對出差 04/18 23:05
8F:→ goomoni: 別,所以才有immutable js 04/18 23:05