在根元素中反应混合组件和 html
React mixing components and html inside root element
我想在不进行异步调用的情况下将服务器端数据传递给 React 组件。
我想知道如何直接从我的 html 页面构建 React 应用程序,就像这里写的一样。
有没有办法在我的 html:
中做这样的事情
<body>
<div id="root">
<h1>Title</h1>
<ReactComponentA description="Lorem ipsum">
<div>
Test
</div>
...(maybe other react components or html here)
</ReactComponentA>
</div>
</body>
换句话说,我试图在我的 html 视图中混合 html 和 react 根元素中的 react 组件。
我希望我说清楚了
非常感谢
React 组件不是 HTML,不能在 HTML 页面中使用。 JSX 语法是 React.createComponent(...)
的语法糖。尽管 React.createComponent(...)
可以在 <script>
中的 HTML 中使用,但它在那里没有多大意义,因为 React 组件应该以任何方式呈现 ReactDOM.render
才能有用,这发生在 React 应用程序中。
另一个问题是,如果 ReactComponentA
在 React 应用程序中定义,它在全局范围内将不会作为 ReactComponentA
可用。
如果应用程序与数据混合以避免异步 AJAX 调用,则可以使用全局变量提供数据:
<script>
window.__APP_DATA__ = {/* provided in server-side template */};
</script>
并在应用程序中用作 window.__APP_DATA__
。
我想在不进行异步调用的情况下将服务器端数据传递给 React 组件。 我想知道如何直接从我的 html 页面构建 React 应用程序,就像这里写的一样。
有没有办法在我的 html:
中做这样的事情<body>
<div id="root">
<h1>Title</h1>
<ReactComponentA description="Lorem ipsum">
<div>
Test
</div>
...(maybe other react components or html here)
</ReactComponentA>
</div>
</body>
换句话说,我试图在我的 html 视图中混合 html 和 react 根元素中的 react 组件。
我希望我说清楚了
非常感谢
React 组件不是 HTML,不能在 HTML 页面中使用。 JSX 语法是 React.createComponent(...)
的语法糖。尽管 React.createComponent(...)
可以在 <script>
中的 HTML 中使用,但它在那里没有多大意义,因为 React 组件应该以任何方式呈现 ReactDOM.render
才能有用,这发生在 React 应用程序中。
另一个问题是,如果 ReactComponentA
在 React 应用程序中定义,它在全局范围内将不会作为 ReactComponentA
可用。
如果应用程序与数据混合以避免异步 AJAX 调用,则可以使用全局变量提供数据:
<script>
window.__APP_DATA__ = {/* provided in server-side template */};
</script>
并在应用程序中用作 window.__APP_DATA__
。