欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何將你的AngularJS1.x應(yīng)用遷移至React的方法

 更新時間:2018年02月01日 16:26:12   作者:涼涼_, 南宮冰郁, 無若, LeoXu  
本篇文章主要介紹了如何將你的AngularJS1.x應(yīng)用遷移至React的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Angular 和 React 都是偉大的框架/庫。Angular 提供了 MVC(模型、視圖、控制器)的定義結(jié)構(gòu)。React 提供基于狀態(tài)變化的輕量級呈現(xiàn)機(jī)制。通常情況下,開發(fā)者在 AngularJS 上有一個舊的應(yīng)用程序后,他們會想用 ReactJS 建立新的特性。

雖然將 AngularJS 應(yīng)用移除,從頭開始建立一個 ReactJS 應(yīng)用是不錯的選擇。但對于大規(guī)模應(yīng)用來說,它不是一個可行的解決方案。在這種情況下,單獨(dú)建立一個 React 組件并將其導(dǎo)入 Augular 會更容易。

在這篇文章中,我將幫你在 Angular 應(yīng)用中使用 react2angular 創(chuàng)建一個 React 組件。

目標(biāo)和計劃

這里就是我們將要做的事情 ——

給定: 一個用來展示城市名稱和它的著名景點(diǎn)的 Angular 應(yīng)用。

目標(biāo): 給該 Angular 應(yīng)用添加一個 React 組件。React 的組件將會顯示一張?zhí)卣骰木包c(diǎn)照片。

計劃: 我們將創(chuàng)建一個 React 組件,通過圖片 Url 來傳遞,并將圖像作為一個 React 組件來顯示。

讓我們開始吧!

第 0 步:擁有一個 Angular 應(yīng)用

為實(shí)現(xiàn)本文的目的,請保持 Angular 應(yīng)用的簡單性。我計劃在 2018 年進(jìn)行歐洲之旅,因此我的 Angular 應(yīng)用實(shí)質(zhì)上是一個我想訪問的目的地清單。

以下是數(shù)據(jù)集 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>

超簡單! 現(xiàn)在可以去圣托里尼了...

第1步:安裝依賴關(guān)系

如果你的編輯器沒有配置,那么從 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步:創(chuàng)建一個 React 組件

現(xiàn)在,我們已經(jīng)有了一個 Angular 組件用來呈現(xiàn)城市的名稱。接下來,我們需要渲染特色圖像。假設(shè)這個圖片是通過 props 提供給我們的。我們的 React 組件如下所示:

import {Component} from 'react';
class RenderImage extends Component {
 render() {
  const imageUrl = this.props.imageUrl;
  return (
   <div>
    <img src={imageUrl} alt=""/>
   </div>
   );
 }
}

第3步:傳遞 props 屬性

請記住,在第2步中,假設(shè)有一個通過 props 獲取的可用圖像。我們現(xiàn)在要填充 props 值。你可以使用 props 將依賴關(guān)系傳遞給 React 組件。請務(wù)必注意,React 組件沒有任何 Angular 依賴關(guān)系可用。 你可以這樣想 -  React 組件就像一個連接到 Angular 應(yīng)用的容器。 如果你需要容器繼承父母的信息,你將需要通過 props 明確地接入。

所以,為了傳遞依賴關(guān)系,我們將在 Angular 中添加一個 renderImage 組件 ,并將其作為參數(shù)傳遞給 imageUrl :

 angular.module('demoApp', [])
.component('renderImage', react2angular(RenderImage,['imageUrl']));

第4步:導(dǎo)入 Angular 模板

現(xiàn)在,你可以像任何其他組件一樣簡單地將這個組件導(dǎo)入到 Angular 應(yīng)用中:

<div ng-repeat="item in $ctrl.bucketlist">
 <h2>{{item.city}}</h2>
 <p> I want to see <span ng-repeat="site in item.sites">{{site}}</span>
 <render-image image-url={{item.img}}></render-image>
</div>

Ta Da! 不敢相信,這簡直就是魔法。當(dāng)然,這(更多的)是艱苦的工作和汗水,還有陪伴我們的咖啡,等等。

現(xiàn)在就去構(gòu)建一些 React 組件吧,勇士!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • React中路由參數(shù)如何改變頁面不刷新數(shù)據(jù)的情況

    React中路由參數(shù)如何改變頁面不刷新數(shù)據(jù)的情況

    這篇文章主要介紹了React中路由參數(shù)如何改變頁面不刷新數(shù)據(jù)的情況,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • react為什么不推薦使用index作為key

    react為什么不推薦使用index作為key

    本文主要介紹了react為什么不推薦使用index作為key,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • React組件的三種寫法總結(jié)

    React組件的三種寫法總結(jié)

    本文主要總結(jié)了React組件的三種寫法以及最佳實(shí)踐,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • ahooks封裝cookie?localStorage?sessionStorage方法

    ahooks封裝cookie?localStorage?sessionStorage方法

    這篇文章主要為大家介紹了ahooks封裝cookie?localStorage?sessionStorage的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 使用React手寫一個對話框或模態(tài)框的方法示例

    使用React手寫一個對話框或模態(tài)框的方法示例

    這篇文章主要介紹了使用React手寫一個對話框或模態(tài)框的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • React?redux?原理及使用詳解

    React?redux?原理及使用詳解

    這篇文章主要為大家介紹了React?redux?原理及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • react-native-video實(shí)現(xiàn)視頻全屏播放的方法

    react-native-video實(shí)現(xiàn)視頻全屏播放的方法

    這篇文章主要介紹了react-native-video實(shí)現(xiàn)視頻全屏播放的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • react hooks入門詳細(xì)教程

    react hooks入門詳細(xì)教程

    這篇文章主要介紹了react hooks入門詳細(xì)教程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • react?+?vite?+?ts項(xiàng)目中優(yōu)雅使用.svg文件

    react?+?vite?+?ts項(xiàng)目中優(yōu)雅使用.svg文件

    這篇文章主要為大家介紹了react?+?vite?+?ts項(xiàng)目中優(yōu)雅使用.svg文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • React Native Popup實(shí)現(xiàn)示例

    React Native Popup實(shí)現(xiàn)示例

    本文主要介紹了React Native Popup實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05

最新評論