最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

目標(biāo)和計(jì)劃

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

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

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

計(jì)劃: 我們將創(chuàng)建一個(gè) React 組件,通過(guò)圖片 Url 來(lái)傳遞,并將圖像作為一個(gè) React 組件來(lái)顯示。

讓我們開始吧!

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

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

以下是數(shù)據(jù)集 bucketlist 看起來(lái)的樣子:

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>

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

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

如果你的編輯器沒(méi)有配置,那么從 Angular 遷移到 React 可能會(huì)很痛苦。我們將首先安裝 linting 。

npm install --save eslint babel-eslint

接下來(lái),安裝 react2angular 。如果你從未安裝過(guò) React ,你還將需要安裝 react,react-dom 和 prop-types 。

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

第2步:創(chuàng)建一個(gè) React 組件

現(xiàn)在,我們已經(jīng)有了一個(gè) Angular 組件用來(lái)呈現(xiàn)城市的名稱。接下來(lái),我們需要渲染特色圖像。假設(shè)這個(gè)圖片是通過(guò) 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 屬性

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

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

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

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

現(xiàn)在,你可以像任何其他組件一樣簡(jiǎn)單地將這個(gè)組件導(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! 不敢相信,這簡(jiǎn)直就是魔法。當(dāng)然,這(更多的)是艱苦的工作和汗水,還有陪伴我們的咖啡,等等。

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

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

相關(guān)文章

  • react搭建環(huán)境時(shí)執(zhí)行npm start報(bào)錯(cuò)start: 'react-scripts start'的解決

    react搭建環(huán)境時(shí)執(zhí)行npm start報(bào)錯(cuò)start: 'react-scripts&

    這篇文章主要介紹了react搭建環(huán)境時(shí)執(zhí)行npm start報(bào)錯(cuò)start: 'react-scripts start'的解決方案,具有很好的參考價(jià)值,希望杜對(duì)大家有所幫助,
    2023-10-10
  • react開發(fā)中如何使用require.ensure加載es6風(fēng)格的組件

    react開發(fā)中如何使用require.ensure加載es6風(fēng)格的組件

    本篇文章主要介紹了react開發(fā)中如何使用require.ensure加載es6風(fēng)格的組件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 如何用react優(yōu)雅的書寫CSS

    如何用react優(yōu)雅的書寫CSS

    這篇文章主要介紹了如何用react優(yōu)雅的書寫CSS,幫助大家更好的理解和學(xué)習(xí)使用react,感興趣的朋友可以了解下
    2021-04-04
  • 使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽

    使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽

    這篇文章主要介紹了使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • React?中?memo?useMemo?useCallback?到底該怎么用

    React?中?memo?useMemo?useCallback?到底該怎么用

    在React函數(shù)組件中,當(dāng)組件中的props發(fā)生變化時(shí),默認(rèn)情況下整個(gè)組件都會(huì)重新渲染。換句話說(shuō),如果組件中的任何值更新,整個(gè)組件將重新渲染,包括沒(méi)有更改values/props的函數(shù)/組件。在react中,我們可以通過(guò)memo,useMemo以及useCallback來(lái)防止子組件的rerender
    2022-10-10
  • React內(nèi)存泄漏的常見(jiàn)原因及避免策略

    React內(nèi)存泄漏的常見(jiàn)原因及避免策略

    內(nèi)存泄漏是指程序中分配的內(nèi)存未能正確釋放,導(dǎo)致內(nèi)存占用不斷增加,最終可能影響應(yīng)用性能甚至崩潰,在React中,內(nèi)存泄漏常發(fā)生于組件卸載后,本文將詳細(xì)介紹內(nèi)存泄漏在React中的常見(jiàn)原因及避免策略,需要的朋友可以參考下
    2025-03-03
  • 淺談對(duì)于react-thunk中間件的簡(jiǎn)單理解

    淺談對(duì)于react-thunk中間件的簡(jiǎn)單理解

    這篇文章主要介紹了淺談對(duì)于react-thunk中間件的簡(jiǎn)單理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 如何使用 React Router v6 在 React 中實(shí)現(xiàn)面包屑

    如何使用 React Router v6 在 React 中

    面包屑在網(wǎng)頁(yè)開發(fā)中的角色不可忽視,它們?yōu)橛脩籼峁┝艘环N跟蹤其在網(wǎng)頁(yè)中當(dāng)前位置的方法,并有助于網(wǎng)頁(yè)導(dǎo)航,本文介紹了如何使用react-router v6和bootstrap在react中實(shí)現(xiàn)面包屑,感興趣的朋友一起看看吧
    2024-09-09
  • React實(shí)現(xiàn)前端選區(qū)的示例代碼

    React實(shí)現(xiàn)前端選區(qū)的示例代碼

    本文主要介紹了React實(shí)現(xiàn)前端選區(qū)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • React實(shí)現(xiàn)表格選取

    React實(shí)現(xiàn)表格選取

    這篇文章主要為大家詳細(xì)介紹了React實(shí)現(xiàn)表格選取,類似于Excel選中一片區(qū)域并獲得選中區(qū)域的所有數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論

姚安县| 日照市| 会理县| 朝阳县| 华宁县| 碌曲县| 高唐县| 武定县| 古蔺县| 耒阳市| 辉南县| 集安市| 永丰县| 保山市| 合川市| 靖西县| 洪雅县| 罗定市| 静宁县| 嘉义县| 芮城县| 观塘区| 新乐市| 南木林县| 治多县| 靖宇县| 黄大仙区| 荆州市| 西峡县| 仁化县| 贵阳市| 金乡县| 定兴县| 名山县| 阿巴嘎旗| 香格里拉县| 榆社县| 开平市| 林西县| 巴东县| 大厂|