【发布时间】:2019-04-28 14:37:11
【问题描述】:
我正在开发一个 Web 应用程序,我在其中使用 reactjs 和 MVC c#。
我想知道 jsx 是否包含在 cshtml 中,是否可以访问 jsx 中的 viewbag 属性?我将有一个对象或 id 传递给 jsx,它将在 UI 中呈现?
【问题讨论】:
标签: javascript reactjs asp.net-mvc-4 razor
我正在开发一个 Web 应用程序,我在其中使用 reactjs 和 MVC c#。
我想知道 jsx 是否包含在 cshtml 中,是否可以访问 jsx 中的 viewbag 属性?我将有一个对象或 id 传递给 jsx,它将在 UI 中呈现?
【问题讨论】:
标签: javascript reactjs asp.net-mvc-4 razor
ViewBag 在服务器端渲染和执行,在浏览器(客户端)上调用 react。
您的主要选择是:
.cshtml) 中,您可以设置一个全局变量
对象window.param = ViewBag.param。并通过 react 访问它。const x = window.param 通过 a 将值(仅限基元)传递给 react 的根元素
data-attribute 并在调用渲染之前获取它:示例:
// razor (.cshtml)
<div id="root" data-param="@ViewBag.param"></div>
// react
const root = document.getElementById('root');
const param = root.getAttribute('data-param');
render(<App myParam={param}/>, root)
【讨论】: