【发布时间】:2020-12-18 10:34:50
【问题描述】:
使用 Vue,我可以轻松地将 Vue 应用程序添加为服务器端呈现 HTML 的包装器,例如:
<body>
<div id="appMain">
<!-- This is the root element for Vue -->
<!-- This is a server-side code -->
<main role="main" class="container">
<div class="row">
<div class="col-md-8 items-list">
<div
class="item row no-gutters rounded overflow-hidden flex-md-row mb-4 h-md-250 position-relative"
>
<div
class="col-md-3 col-sm-auto d-lg-block image-block"
style="background-image: url(${item.cover_image_url}); background-color: ${item.cover_image_back or 'transparent'}"
>
<!--img src="${item.cover_image_url}" class="col-12"-->
</div>
</div>
</div>
<div>
<!-- This is code for subscription, done in Vue -->
<div class="subscription-form">
<input
type="email"
placeholder="Enter your email"
v-model="email"
/>
<button class="" @click="subscribe()">
<i class="far fa-paper-plane"></i>
</button>
</div>
<div
:class="{'message-success': success, 'message-error': error, 'message-info': info}"
>
{{message}}
</div>
</div>
</div>
</main>
</div>
</body>
但我不知道如何在 React 中做同样的事情。据我所知,根 div 的所有内容都会被替换,并且没有办法为 React 应用程序或组件创建一种包装器。不过,我知道,我可以包含单独的组件,但这并不方便。理想情况与 Vue 相同——创建一个带有函数的包装器。这可能吗?
【问题讨论】:
-
也可以使用 react 来渲染 HTML 服务端
-
@AlexeiLevenkov 谢谢,但我使用 Python,所以几乎不可能。
标签: javascript reactjs vue.js