请参见下面的代码,我试图使用IIFE返回的模块对象中的“ HOC”,以使事情变得简单,首先将大多数代码保存在HTML文件中。但是我得到了“警告”(或者实际上是“错误”,因为我的页面无法显示):“函数作为React子代无效。”
我尝试了一些无效的方法,首先将public static class ProjectorAB
{
public static Expression<Func<TypeA, TypeB>> Projection
{
get
{
var tInfo = new TypeB_SubInfo
{
prop1 = "",
// ...
prop5 = "",
};
var tItems = new List<TypeB_SubItem>()
{
};
return new TypeB
{
Items = tItems,
Info = tInfo,
};
}
}
}
添加到()
的末尾,与此处的建议(https://stackoverflow.com/a/51220156/34806相同),但是结果是“未捕获的TypeError:不能将类作为函数调用”,这是很有意义的。我也尝试过在return之前加前缀,但这只会导致语法错误。
在没有模块对象的情况下,我的代码主要基于以下要点:https://gist.github.com/sebmarkbage/ef0bf1f338a7182b6775但是我希望除了组件之外还能够接受参数,然后将其存储以供将来参考。我正在尝试的可能吗?谢谢。
withFoobar.HOC(Salutation)()
答案 0 :(得分:1)
高阶组件返回一个组件。 render
期望将React element 而不是 component 作为第一个参数。应该是:
const SalutationWithFooBar = withFooBar.HOC(Salutation);
ReactDOM.render(
<SalutationWithFooBar />,
document.getElementById('app-content')
);