immutable

Posted nighttiger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了immutable相关的知识,希望对你有一定的参考价值。

一、作用

immutable对象是不可直接赋值的对象,它可以有效的避免错误赋值的问题

二、immutable在react中的使用

  • 安装
npm install immutable
  • 使用

在react中,immutable主要是防止state对象被错误赋值。

  • 将js对象转成immutable对象
import { fromJS } from ‘immutable‘;
const defaultState = fromJS({
  todoList: []
});

 

  • 获取属性
state.get(‘todoList‘); // 获取store中的todoList
statae.get([‘Main‘, ‘todoList‘]); // 获取Main组件中store的todoList

 

  • 改变属性
state.set(‘todoList‘, action.value);  // 设置单个属性值
// 设置多个属性
state.merge({
  todoList: fromJS(action.value), // 由于action.value是js对象所以要转成immutable对象
});

 

  • 将immutable对象转成js对象
state.get(‘todoList‘).toJS(); // 把todoList转成js数组

 



以上是关于immutable的主要内容,如果未能解决你的问题,请参考以下文章

WrappedArray$ofRef 不能转换为 scala.collection.immutable.Seq

Spark scala.collection.immutable.$colon$colon 不是字符串模式的有效外部类型

immutable.js 过滤和变异(删除)找到的条目

不支持的文字类型类 scala.collection.immutable.Nil$ List()

在 scala.immutable.Map 中更新多个值的惯用方法

Range Sum Query - Immutable