我有一个非常基本但可能很复杂的问题。
我正在使用ReactJS.net来渲染服务器端的react组件。我有一个排版组件,我在整个网站上多次使用它。它所期望的属性之一是javascript过滤函数。
我不想为typeahead的每个实例创建一个单独的组件,但我想传入一个javascript函数作为属性,这样我就可以在整个网站上重用该组件。
例如,要在服务器上渲染组件,我将执行以下操作。第二个参数是属性参数
@Html.React("Components.WorkSiteTypeahead", new { filterFn = model.SomeFunction })
现在,由于ReactJS.net期望原生的c#对象(字符串、数组、列表等),我看不到任何直接的方法来传递Javascript函数。关于如何告诉我的MVC5视图将我的函数不呈现为字符串,有什么想法吗?我的第一直觉是,可能有某种Javascript Raw类型我不知道,但一直找不到。
正如我所怀疑的,至少有一种方法是使用Newtonsoft的JRAW类型。
@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})