将 javascript 函数传递给 ReactJS.NET 服务器端
Passing a javascript function to ReactJS.NET Server side
我有一个非常基本但可能很复杂的问题。
我正在使用 ReactJS.net 在服务器端呈现 React 组件。我有一个 typeahead 组件,我在整个站点中多次使用它。它期望的属性之一是 javascript 过滤函数。
我不想为 typeahead 的每个实例创建一个单独的组件,但想将 javascript 函数作为 属性 传递,以便我可以重用整个站点的组件。
例如,要在服务器上呈现一个组件,我会执行以下操作。第二个参数是属性argment
@Html.React("Components.WorkSiteTypeahead", new { filterFn = model.SomeFunction })
现在,由于 ReactJS.net 需要本机 c# 对象(字符串、数组、列表等),我看不到任何直接传递 Javascript 函数的方法。关于如何告诉我的 MVC5 视图将我的函数呈现为字符串而不是字符串的任何想法?我的第一直觉是可能有某种 Javascript 原始类型我不知道,但没能找到它。
正如我所怀疑的,至少一种解决方法是使用 Newtonsoft 的 JRAW 类型。
@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})
我有一个非常基本但可能很复杂的问题。
我正在使用 ReactJS.net 在服务器端呈现 React 组件。我有一个 typeahead 组件,我在整个站点中多次使用它。它期望的属性之一是 javascript 过滤函数。
我不想为 typeahead 的每个实例创建一个单独的组件,但想将 javascript 函数作为 属性 传递,以便我可以重用整个站点的组件。
例如,要在服务器上呈现一个组件,我会执行以下操作。第二个参数是属性argment
@Html.React("Components.WorkSiteTypeahead", new { filterFn = model.SomeFunction })
现在,由于 ReactJS.net 需要本机 c# 对象(字符串、数组、列表等),我看不到任何直接传递 Javascript 函数的方法。关于如何告诉我的 MVC5 视图将我的函数呈现为字符串而不是字符串的任何想法?我的第一直觉是可能有某种 Javascript 原始类型我不知道,但没能找到它。
正如我所怀疑的,至少一种解决方法是使用 Newtonsoft 的 JRAW 类型。
@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})