https://stackoverflow.com/questions/33312922/what-is-the-difference-between-immutablejs-map-and-fromjs
fromJS 是 deep conversion, 从内到外都是immuatable的
Map() 是 level-1 才immuatable, 再往内部还是保持原来的,可以改。
const defaultState = Map({
columns: [
{ title: 'Name', field: 'name' },
{ title: 'Surname', field: 'surname' },
{ title: 'Birth Year', field: 'birthYear', type: 'numeric' },
{
title: 'Birth Place',
field: 'birthCity',
lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' },
},
],
data: [
{ name: 'Mehmet', surname: 'Baran', birthYear: 1987, birthCity: 63 },
{
name: 'Zerya Betül',
surname: 'Baran',
birthYear: 2017,
birthCity: 34,
},
{
name: 'sen',
surname: 'hong',
birthYear: 2019,
birthCity: 63
},
]
})
material Table 要求 columns 和 data 不能改,
columns 和 data 的value被全部放在一个固定list中。
但是,它们内部的object可以改.
fromJS() 和 Map() 都是将value收集起来,放在一个 List中, 只是Map() 只在第一层