javascript 使用React和ejs?

oxosxuxt  于 2023-05-12  发布在  Java
关注(0)|答案(3)|浏览(185)

我有一个使用React状态构建的前端,旨在根据用户操作进行调整。然而,我的前端React也意味着显示和允许操作我的服务器端数据。目前我的视图引擎是EJS,我用它来显示数据。举一个广泛的例子:

return (<div class="col-md-6 col-sm-6 col-xs-7">
    <ul>
      <li><span class="point">Name:</span> <%= user.profile.name %> </li>
      <li><span class="point">Email:</span> <%= user.email %> </li>
    </ul>
  </div>);

我已经确定我不能将这些ejs <%=标签与React混合使用。这使得操纵数据成为一个挑战。除非我在jQuery中重做我的UI,否则我不知道如何继续。
我已经看过this React documentation来传递数据,但在测试时,结果不允许我进行跨域调用,我的MongoDB存储在MongoLab上。因此,我只能使用EJS来调用我的数据。
由于在EJS中使用React的限制,我很困惑我必须用什么解决方案来实现像React这样的UI工具与服务器端数据。

vjrehmav

vjrehmav1#

在表达中:

res.render('view', {user: myUser});

在应用的js bundle之前的EJS中:

<script type='text/javascript'>
  var userFromServer =<%-JSON.stringify(user)%>
</script>

在react代码中使用userFromServer

5uzkadbs

5uzkadbs2#

如果你使用express,那么很明显你的入口点应该是app.ejs;要有一个react组件,你需要将扩展名改为app.jsx作为入口点,它对我很有效...

yws3nbqq

yws3nbqq3#

你可以使用reactbabel.js没有webpack .但它可能不是一个好的解决方案.但它很有效

<script src="//unpkg.com/react@16/umd/react.development.js"></script>
<script src="//unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<!-- for imported scripts -->
<script src="//unpkg.com/@babel/standalone/babel.min.js"></script>

<div id="app"></div>
<script type="text/babel">
 const { React, ReactDOM } = window;
 function App(){
   return (<div class="col-md-6 col-sm-6 col-xs-7">
    <ul>
      <li><span class="point">Name:</span> <%= user.profile.name %> </li>
      <li><span class="point">Email:</span> <%= user.email %> </li>
    </ul>
  </div>)
 }
 ReactDOM.render(<App/>, document.getElementById('app'));
</script>

相关问题