我有一个函数,它为传入的对象添加一个键,但我被告知使用传播运算符,我被告知我可以使用spread运算符创建一个具有相同属性的新对象,然后在其上设置isAvailable .
return new Partner(ServerConfig, capabilities, initialState)
}
class Partner {
constructor (ServerConfig, capabilities, initialState) {
initialState.isAvailable = true
Run Code Online (Sandbox Code Playgroud)
所以我尝试了类似的东西但是成功了,你能帮助我吗?并且困惑,我应该以这种方式使用spread运算符,从函数返回?
newObject = {}
//在函数中使用它并从return中获取值
return {
value: {
...newObject,
...initialState
}
}
Run Code Online (Sandbox Code Playgroud)
initialState.isAvailable = true
我在reducer中有一个状态如下:
// The current source/selection
const selection = {
timespan: "-3660",
customTimespan: false,
pathIds: [''],
source: undefined,
direction: 0,
appClassIds: []
};
Run Code Online (Sandbox Code Playgroud)
我现在想要的是更新多个属性(timespan和customTimeSpan),类似这样(但这不起作用):
{ ...state,
{
timespan: action.timespan.value,
customTimespan: action.timespan.value
}
};
Run Code Online (Sandbox Code Playgroud)
如何更新状态的多个属性?
我有一个名为的对象added,如下所示:
{
title: "test1",
startDate: "Mon Apr 15 2019 10:30:00 GMT-0500 (Central Daylight Time)",
endDate: "Mon Apr 15 2019 11:00:00 GMT-0500 (Central Daylight Time)",
allDay: false
}
Run Code Online (Sandbox Code Playgroud)
我试图通过执行以下操作来编辑此对象的startDate和endDate字段:
added = {
...added,
{added.startDate: "111", added.endDate: "222"}
}
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误,说
意外令牌,预期,
这样做的正确方法是什么?