首页 > 语言 > JavaScript > 正文

如何将你的AngularJS1.x应用迁移至React的方法

2024-05-06 15:22:12
字体:
来源:转载
供稿:网友

Angular 和 React 都是伟大的框架/库。Angular 提供了 MVC(模型、视图、控制器)的定义结构。React 提供基于状态变化的轻量级呈现机制。通常情况下,开发者在 AngularJS 上有一个旧的应用程序后,他们会想用 ReactJS 建立新的特性。

虽然将 AngularJS 应用移除,从头开始建立一个 ReactJS 应用是不错的选择。但对于大规模应用来说,它不是一个可行的解决方案。在这种情况下,单独建立一个 React 组件并将其导入 Augular 会更容易。

在这篇文章中,我将帮你在 Angular 应用中使用 react2angular 创建一个 React 组件。

目标和计划

这里就是我们将要做的事情 ——

给定: 一个用来展示城市名称和它的著名景点的 Angular 应用。

目标: 给该 Angular 应用添加一个 React 组件。React 的组件将会显示一张特征化的景点照片。

计划: 我们将创建一个 React 组件,通过图片 Url 来传递,并将图像作为一个 React 组件来显示。

让我们开始吧!

第 0 步:拥有一个 Angular 应用

为实现本文的目的,请保持 Angular 应用的简单性。我计划在 2018 年进行欧洲之旅,因此我的 Angular 应用实质上是一个我想访问的目的地清单。

以下是数据集 bucketlist 看起来的样子:

const bucketlist = [{ city: 'Venice', position: 3, sites: ['Grand Canal', 'Bridge of Sighs', 'Piazza San Marco'], img: 'https://unsplash.com/photos/ryC3SVUeRgY',}, { city: 'Paris', position: 2, sites: ['Eiffel Tower', 'The Louvre', 'Notre-Dame de Paris'], img: 'https://unsplash.com/photos/R5scocnOOdM',}, { city: 'Santorini', position: 1, sites: ['Imerovigli', 'Akrotiri', 'Santorini Arts Factory'], img: 'https://unsplash.com/photos/hmXtDtmM5r0',}];

这是 angularComponent.js 的样子:

function AngularComponentCtrl() { var ctrl = this; ctrl.bucketlist = bucketlist; };angular.module('demoApp').component('angularComponent', { templateUrl: 'angularComponent.html', controller: AngularComponentCtrl});

这是 angularComponent.html:

<div ng-repeat="item in $ctrl.bucketlist" ng-sort="item.position"> <h2>{{item.city}}</h2> <p> I want to see <span ng-repeat="sight in item.sights">{{sight}}         </p></span></div>

超简单! 现在可以去圣托里尼了...

第1步:安装依赖关系

如果你的编辑器没有配置,那么从 Angular 迁移到 React 可能会很痛苦。我们将首先安装 linting 。

npm install --save eslint babel-eslint

接下来,安装 react2angular 。如果你从未安装过 React ,你还将需要安装 react,react-dom 和 prop-types 。

npm install --save react2angular react react-dom prop-types

第2步:创建一个 React 组件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选