作者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/cn.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