为什么在 ASP.NET CORE MVC 中使用 ReactJS?

Man*_*mar 4 asp.net razor reactjs asp.net-core-mvc

我之前在 ASP.NET CORE MVC 工作过。

  • 与 ASP.NET CORE 相比,使用 ReactJS 的所有优势是什么?
  • 那个额外的库及其组件不会减慢页面加载速度,比较普通的 Razor 视图吗?

我试过网络搜索,我无法得到正确的答案。

Rya*_*yan 7

如果你在PC、手机平板等有独立的应用程序,你可以使用React和core web api,它是前后端分离的。

通过在服务器端使用 Angular/React 和 api:

1.消除了服务器端生成HTML的过程,节省了CPU。

2.API 产生较小的有效负载 (json),而 Razor (html) 的大小会大得多,持续的整页重新加载和回发往返。所以 API 和 SPA 节省了带宽。

3.API 和 SPA 可以有不同的版本控制、扩展和部署场景。

4.通过使用API​​,你也可以支持移动应用程序,如果你从Razor开始,你将来可能需要API。

以下是关于使用 Angular/React 或 razor 的一些意见:

1.Razor 支持移动,两者都以自己的方式优化和快速。Razor 通过不像 MVC 那样使用树来优化代码。React 是客户端,所以它并没有真正使用树,但也在一定程度上优化了 HTML 中的数据。

2.Angular(或React)在性能方面要优越得多。Angular 的模型绑定方面是服务端渲染的巨大优势。然而,使用 Razor(或一般的服务器端渲染)确实有助于提高数据的整体完整性,并且可以更好地从前端到后端的数据转换。

参见ASP.NET Core 2.0 Razor vs Angular/React/etc


Moh*_*nem 6

与 ASP.NET CORE 相比,使用 ReactJS 有哪些优势?

ReactJS是高性能和快速开发的客户端框架,您可以使用它抛出asp.net core或任何其他服务器端框架来处理客户端操作。

与普通 Razor 视图相比,附加库及其组件不会减慢页面加载速度吗?

ReactJS 设计为单页面应用程序,这种应用程序比多页面应用程序更快,而且 ReactJS 以不同且更智能的方式处理 DOM。

如果你想在 asp.net core 中使用 ReactJS,你必须记住,asp.net core 是 api 部分,只是为了返回数据(json 或 xml)或接收 ajax 请求来发布数据。

所有客户端部分都将由 ReactJS 处理,没有 razor 视图,您只能使用一个来引用您的 React 应用程序,或者您可以使用纯 html 页面来引用它。