Angular 2 has the nifty feature,当您在服务器上呈现内容时,Angular将附加事件侦听器以捕获在呈现客户端应用程序之前发生的用户事件。
有没有办法用React做到这一点?
现在,例如,如果您使用React进行服务器端呈现,并且您的服务器使用<input>
标记进行响应,则当前用户输入该输入字段的任何内容都不会在{ {1}}事件处理程序。相反,当呈现客户端时,onChange
标记将被清除。
答案 0 :(得分:0)
React应仅用作显示数据的函数。 您的输入应该存储状态。
如果要在服务器上呈现值,则在呈现期间应该在服务器存储中具有值。
重建事件的角度解决方案不如仅仅通过反应和通量模式促进从单个商店渲染数据那样最佳。
答案 1 :(得分:-1)
说
在呈现客户端应用程序之前
有点令人困惑,因为应用程序主要是在服务器端呈现的。
在显示HTML的那一刻与javascript应用程序被引导到客户端的那一刻之间存在延迟。只要将javascript加载到单独的文件中并且需要时间来执行浏览器,这总是正确的。
您可以参考angular/preboot repo,它允许我们记录在引导Javascript应用程序之前触发的所有客户端事件,然后重播它们。
所有内容都在this video中解释。
angular/preboot适用于任何前端JavaScript框架(即React,Vue,Ember等)