javascript - 如何在 React.NET 中导出 JavaScript 文字

标签 javascript reactjs reactjs.net

我正在使用属性来传递组件依赖项。当使用依赖于 jQuery 或 SignalR 等运行时库的代码进行服务器端渲染时,这一点尤其重要。就我而言,我需要在服务器端渲染我的组件,然后将 JS 连接到它并在浏览器中传输实时数据。所以我不需要 SignalR 服务器端,但我需要使用 React.NET 传递对客户端上的 Web 套接字集线器的引用。

@Html.React("Comments", new
{
    data = Model,
    conn = "$.hubConnection()" //<--- I need this to be a literal not a string
})

最佳答案

深入研究 React.NET 的源代码后,我发现它使用 Newtonsoft 来序列化数据。所以你可以使用Jraw

@Html.React("Comments", new
{
    data = Model,
    conn = new Newtonsoft.Json.Linq.JRaw("$.hubConnection()")
})

然后我只需要包含一个简单的模拟,这样它就不会在服务器端渲染期间抛出错误。

// this file contains mocks for global variables that are referenced by server-side code but only needed client-side. For example SignalR.

// mock jQuery
var $ = jQuery = {};

// mock SignalR API
$.hubConnection = function() {};

工作起来就像一个魅力!

关于javascript - 如何在 React.NET 中导出 JavaScript 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28509609/

相关文章:

javascript - 在 Owl Carousel 中移动分页按钮

javascript - 我有一个元素已声明为影子 dom,但样式正在影响其他元素

javascript - 不区分大小写全部替换

javascript - 可以用 `onEnter` 延迟组件渲染吗?

javascript - 在 React 中使用 Google Place Autocomplete API

javascript - 映射时嵌套数据表

javascript - 将点击事件添加到 React.Js

javascript - Angular:在哪里安全地添加管理功能?

reactjs - react 样板 : Dumb components re-render when the data in

c# - 使用 browserify 运行 ReactJS.NET