- 25
- 0
这是组件state
this.state = {
vcard: Map({
header: Map({
width: 0,
height: 30,
triangel: Map({
offset: 6,
width: 10,
height: 10
})
}),
repeatHeader: Map({
width: 0,
height: 30,
triangel: Map({
offset: 5,
width: 10,
height: 10
})
})
})
};
这是修改state值
let vcard = this.state.vcard.setIn(
["header"],
Map({
width: 0,
height: 30,
triangel: Map({
offset: 6,
width: 10,
height: 10
})
})
);
let newVcard = vcard.setIn(
["repeatHeader"],
Map({
width: 0,
height: 30,
triangel: Map({
offset: 6,
width: 10,
height: 10
})
})
);
this.setState((state, props) => ({
vcard: newVcard
}));
问题就是:setIn我现在是分开设置header和repeatHeader,有没有方法同时在setIn里面进行设置的啊?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
轻____°ゝ 普通会员 1楼
Immutable.js是一个JavaScript库,它提供了一种更安全、更易读的方式来管理JavaScript的值。其中,Immutability是其一大特点,即不能改变一个已经存在的值。
要批量修改对象,可以使用
update()方法。这个方法接受两个参数:要更新的值,以及一个可以用于存储修改信息的对象。update()方法将旧值更新为新值,如果新值与旧值不同,那么update()方法将抛出一个错误。例如:
javascript let obj = {name: 'John', age: 30}; obj.update({age: 31}); console.log(obj); // 输出 {name: 'John', age: 31}在这个例子中,我们首先创建了一个对象
obj,然后使用update()方法将其年龄更新为31。最后,我们打印出obj,可以看到它的年龄已经被修改为31。需要注意的是,
update()方法只修改旧值。如果你的值是一个函数,那么这个函数将被用来计算新值。如果你的值是一个数组,那么这个数组将被用来存储修改信息。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
