【react-native】小結(jié)

【react-native】小結(jié)

一 底層

定義一個(gè)ui

  const itemShopName = (
    <View>
      <TouchableOpacity activeOpacity={1}
                        onPress={() => orderLineItemShopInfo(shopId)}>
        <Text style={ols.skuShop}>供應(yīng)商: {shopName}&gt;</Text>
      </TouchableOpacity>
    </View>
  );
  
  // 在頁(yè)面中調(diào)用
   {isShowShopInfoBtn && itemShopName}
   
  // isShowShopInfoBtn--> 是否要顯示拂蝎,這是外部傳過(guò)來(lái)的 使用 & 來(lái)做判斷猪瞬,是個(gè)bool 值

調(diào)用

return (
    <View style={ols.olItemWrapper} key={orderLineId}>
     {isShowShopInfoBtn && itemShopName}
    </View>       
          )

通過(guò)參數(shù)傳遞將參數(shù): isShowShopInfoBtn && shopName 分別傳遞過(guò)去

function OrderLineItem({ operatorId, orderId, orderLine, showOrderLineOps, showOrderLineStatus, orderStatus, source, linkToOrderDetail,orderLineItemShopInfo ,isShowShopInfoBtn}) {
const { orderLineId, shopName, shopId, skuInfo = {}, quantity, displayFee, isGift, operations = [], extraInfo, status, bizCode, isPreSale = false } = orderLine;
  const { courseType } = extraInfo || {};

  const itemShopName = (
    <View>
      <TouchableOpacity activeOpacity={1}
                        onPress={() => orderLineItemShopInfo(shopId)}>
        <Text style={ols.skuShop}>供應(yīng)商: {shopName}&gt;</Text>
      </TouchableOpacity>
    </View>
  );
  
return (
    <View style={ols.olItemWrapper} key={orderLineId}>
     {isShowShopInfoBtn && itemShopName}
    </View>       
          )
}

使用這種方式去獲取值

const { orderLineId, shopName, shopId, skuInfo = {}, quantity, displayFee, isGift, operations = [], extraInfo, status, bizCode, isPreSale = false } = orderLine;
const { courseType } = extraInfo || {};

二中層

中層傳遞參數(shù) orderLineItemShopInfo={storeInfo} && isShowShopInfoBtn={isShowShopInfoBtn}

 <OrderLineItem
                operatorId={order.operatorId}
                orderLine={ol}
                source={source}
                orderId={orderId}
                orderStatus={status}
                key={`${ol.orderLineId}-${idx}`}
                showOrderLineOps={showOrderLineOps}
                linkToOrderDetail={linkToOrderDetail}
                orderLineItemShopInfo={storeInfo}
                isShowShopInfoBtn={isShowShopInfoBtn}
              />

三層

實(shí)現(xiàn)方法昌犹,和彈窗,
1 導(dǎo)入頭文件

import OrderItem from 'order/children/order-item';

2 實(shí)現(xiàn) ui

      <OrderItem
        showStatus
        showSummary
        showOperations
        showOrderLineOps
        linkToOrderDetail
        order={order}
        orderLines={orderLines}
        refreshData={fetchData}
        buyAgain={handleBuyAgain}
        storeInfo={showStoreInfo}
        isShowShopInfoBtn={true}
      />
      

3 實(shí)現(xiàn)func

  async  function showStoreInfo(shopId) {
  
    setViewLoading(true);
    try {
      getEnterpriseDetails({operatorId:operatorId||sellerId,id:shopId})
        .then((data) => {
        //  console.log('返回的數(shù)據(jù): ',data);
          setStoreInfoData(data);
          setShowStoreInfoModal(true);
        })
        .finally(() => setViewLoading(false));
    } catch (error) {
      setViewLoading(false);
      Toast.info(error.errorFields[0].errors[0], 2);
    }
  }

彈窗

首先創(chuàng)建文件夾产舞,在創(chuàng)建文件 index.jsx 注意一定為.jsx的格式才可以

導(dǎo)入頭文件

import React, { useState, useEffect } from 'react';
import { View, Text,Image,TouchableOpacity,ScrollView} from 'react-native';
import { Modal } from '@terminus/nusi-mobile' // 彈窗的文件
import shopInfoTitle from "images/shopInfoTitle.png"; // 圖片
import shopInfoTitleDel from "images/shopInfoTitleDel.png";

import { storeInfoStyle } from './style';

實(shí)現(xiàn)方法

export default function(props) {
 const { visible,storeInfoData, onClose } = props;
 const { name,tin,shopNames,extra,address } = storeInfoData || {};
 const { contactName,contactMobile } = extra || {};

//  console.log('storeInfoData: ',storeInfoData);
 return (
   <Modal
     popup
     style={[{ backgroundColor:'transparent' }, { touchAction: 'none' }]}
     visible={visible}
     maskClosable={false}
     animationType="slide-up"
     onClose={onClose}
   >
     <View style={storeInfoStyle.container}>
       <View style={[storeInfoStyle.containerView, { touchAction: 'none' }]}>
         <View style={storeInfoStyle.titleView}>
           <View style={storeInfoStyle.titleItemView}>
             <Image style={storeInfoStyle.titleIcon} source={shopInfoTitle} />
             <Text style={storeInfoStyle.titleText} numberOfLines={1}>{name}</Text>
           </View>
           <TouchableOpacity activeOpacity={1} onPress={onClose}>
             <Image style={storeInfoStyle.titleIconDel} source={shopInfoTitleDel} />
           </TouchableOpacity>
         </View>
         <ScrollView>
           <Text style={storeInfoStyle.contentText}>社會(huì)統(tǒng)一信用代碼:{tin}</Text>
           <Text style={storeInfoStyle.contentText}>供應(yīng)商公司名稱:{shopNames}</Text>
           <Text style={storeInfoStyle.contentText}>聯(lián)系人:{contactName}</Text>
           <Text style={storeInfoStyle.contentText}>聯(lián)系電話:{contactMobile}</Text>
           <Text style={storeInfoStyle.contentText}>公司地址:{address}</Text>
         </ScrollView>
       </View>
     </View>
   </Modal>
 )
}

在class文件內(nèi)調(diào)用和func內(nèi)不同

在class文件中使用的方法都不同,正常func文件內(nèi)引用定義屬性則是

  const [searchHistory, setSearchHistory] = useState([]);
  const [isViewLoading, setViewLoading] = useState(false);
  const [showStoreInfoModal, setShowStoreInfoModal] = useState(false);

但是在class則引入this 的概念 一切都以this 為基礎(chǔ)

在class內(nèi)方法的實(shí)現(xiàn)以及屬性的引入都遵循了 this 的規(guī)則,具體詳情見(jiàn) class Cart extends React.PureComponent 文件 整 購(gòu)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末郁妈,一起剝皮案震驚了整個(gè)濱河市涡上,隨后出現(xiàn)的幾起案子趾断,更是在濱河造成了極大的恐慌,老刑警劉巖吩愧,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芋酌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雁佳,警方通過(guò)查閱死者的電腦和手機(jī)脐帝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)甘穿,“玉大人腮恩,你說(shuō)我怎么就攤上這事∥录妫” “怎么了秸滴?”我有些...
    開(kāi)封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)募判。 經(jīng)常有香客問(wèn)我荡含,道長(zhǎng)咒唆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任释液,我火速辦了婚禮全释,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘误债。我一直安慰自己浸船,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布寝蹈。 她就那樣靜靜地躺著李命,像睡著了一般。 火紅的嫁衣襯著肌膚如雪箫老。 梳的紋絲不亂的頭發(fā)上封字,一...
    開(kāi)封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音耍鬓,去河邊找鬼阔籽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛牲蜀,可吹牛的內(nèi)容都是我干的笆制。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涣达,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼项贺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起峭判,我...
    開(kāi)封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤开缎,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后林螃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕删,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年疗认,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了完残。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡横漏,死狀恐怖谨设,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缎浇,我是刑警寧澤扎拣,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響二蓝,放射性物質(zhì)發(fā)生泄漏誉券。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一刊愚、第九天 我趴在偏房一處隱蔽的房頂上張望踊跟。 院中可真熱鬧,春花似錦鸥诽、人聲如沸商玫。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)决帖。三九已至,卻和暖如春蓖捶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扁远。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工俊鱼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畅买。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓并闲,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親谷羞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帝火,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 127,720評(píng)論 1 9
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭湃缎,有人歡樂(lè)有人憂愁犀填,有人驚喜有人失落,有的覺(jué)得收獲滿滿有...
    陌忘宇閱讀 8,536評(píng)論 28 53
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,603評(píng)論 2 9
  • 信任包括信任自己和信任他人 很多時(shí)候嗓违,很多事情九巡,失敗、遺憾蹂季、錯(cuò)過(guò)冕广,源于不自信,不信任他人 覺(jué)得自己做不成偿洁,別人做不...
    吳氵晃閱讀 6,187評(píng)論 4 8