【发布时间】:2020-04-22 02:59:21
【问题描述】:
我有这家店:
const initialActors = {
list: 'Actor\'s lists',
actors: [
{
name: 'Angelina Jole',
involved: true
},
{
name: 'Bratt Pitt',
involved: false
},
]
}
我有一个 reducer 可以向我的商店添加一个新演员:
const actors = (state = initialActors, action) => {
switch(action.type){
case 'ADD_NEW':
return {
...state.list,
actors: [
...state.actors,
action.name,
action.involved
]
}
default:
return state
}
}
我也有一个动作创建者,但这并不重要。我发送它并显示我的状态:
store.dispatch(addNew({name: "Hello", involved: true}) ); // I have this action creator
console.log(store.getState()
console.log 显示非常困难的对象,其字母如下:{0: "A", 1: "c"}。怎么了?
@编辑 我尝试将 ...state.list 更改为这样的状态列表:
const actors = (state = initialActors, action) => {
switch(action.type){
case 'ADD_NEW':
return {
state.list,
actors: [
...state.actors,
action.name,
action.involved
]
}
default:
return state
}
}
但我有这个错误:
解析错误:意外的令牌,应为“,” 如果我尝试修改演员数组,我会遇到类似的情况:
case 'ADD_NEW':
return {
...state.list,
actors: [
...state.actors,
{
action.name,
action.involved
}
]
}
错误消息与此相同,但指向操作对象(action.name)。
【问题讨论】:
-
添加了解决方案,请检查 :) 如果您需要任何进一步的说明,请告诉我
-
你又在做 ....state.list,因为它是字符串,它会传播每个字符
标签: javascript reactjs redux store