我使用Ajax从端点接收JSON数据。
const jsData = '[ {"x": 1, "y": 1}, {"x": 2, "y": 2}, … ]';
我正在将数据转换为不可变对象:
const imData = Immutable.fromJSON( jsData )
我想基于这个不可变对象
创建一个记录集const Rec = Immutable.Record( imData)
const rec = new Rec();
抛出此错误Uncaught TypeError: Cannot read property 'get' of undefined
。
注意:为什么我没有直接将jsData
作为记录集的默认值传递?
我不希望这是可能的:rec[0].x = 1
。
将接收到的数据转换为完全不可变的记录集的正确方法是什么?
答案 0 :(得分:0)
public class Search
{
public List<BaseSearch> List { get; set; }
}
public abstract class BaseSearch
{
string label;
protected List<Comparator> comparators;
public string Label
{
get
{
return label;
}
set
{
label = value;
}
}
public List<Comparator> Comparators
{
get
{
return comparators;
}
set
{
comparators = value;
}
}
public BaseSearch()
{
comparators = new List<Models.Comparator>();
}
}
public class TextSearch : BaseSearch
{
string _value;
public string Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
public TextSearch() : base()
{
comparators.Add(new Comparator() { Value = -1, Text = Resources.Choose });
comparators.Add(new Comparator() { Value = 1, Text = Resources.StartWith });
comparators.Add(new Comparator() { Value = 2, Text = Resources.Contains });
}
}
在您的示例中,您不会在任何内容上致电xhr.setRequestHeader('Authorization', 'Bearer ' + variable);
。使用对象创建记录。 https://facebook.github.io/immutable-js/docs/#/Record
记录类似于JS对象,但强制执行一组特定的记录 允许使用字符串键,并具有默认值。
Cannot read property 'get' of undefined.