操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    詳解react 頁面間傳遞數據的幾種方式,詳解,react,,頁面,間,傳遞,數據,的,幾

    詳解react 頁面間傳遞數據的幾種方式

    易采站長站,站長之家為您整理了詳解react 頁面間傳遞數據的幾種方式的相關內容。

    1. 利用react- 事件 監聽廣播

    應用場景:

    - 表單提交頁面, A頁面跳轉到B頁面選人, 然后返回A頁面, 需要將B頁面選擇的數據傳回A頁面。

    - 多個多媒體來回切換播放,暫停后二次繼續播放等問題。

    代碼如下:

    A頁面

     componentDidMount() {
     // 利用DeviceEventEmitter 監聽 concactAdd事件
      this.subscription = DeviceEventEmitter.addListener('concactAdd', (dic) => {// dic 為觸發事件回傳回來的數據
       // 接收到 update 頁發送的通知,后進行的操作內容
       if (dic.approver_list) {
        this.setState((preState: Object) => {
    

    html頁面之間傳遞數據_html頁面傳遞json數據_c 窗體之間傳遞數據

    this.updateInputValue(preState.approver_list.concat(dic.approver_list), 'approver_list'); return { approver_list: preState.approver_list.concat(dic.approver_list) }; }); } if (dic.observer_list) { this.setState((preState: Object) => { this.updateInputValue(preState.observer_list.concat(dic.observer_list), 'observer_list'); return { observer_list: preState.observer_list.concat(dic.observer_list) }; }); } }); ... componentWillUnmount() { this.subscription.remove(); }

    c 窗體之間傳遞數據_html頁面傳遞json數據_html頁面之間傳遞數據

    B頁面

    // 觸發concactAdd事件廣播
    handleOk = (names: []) => {
      const { field } = this.props;
      DeviceEventEmitter.emit('concactAdd', { [field]: names });
     }
    

    2. 用react-提供的路由之間

    A頁面

    // 定義路由跳轉函數 cb表示需要傳遞的回調函數
    export const navigateToLinkman = (cb: Function, type?: string, mul?: boolean): NavigateAction =>
     NavigationActions.navigate({ routeName: 'Linkman', params: { cb, type, mul } });
     // 跳轉選擇人員頁面
      handleSelectUser = () => {
    

    html頁面之間傳遞數據_html頁面傳遞json數據_c 窗體之間傳遞數據

    Keyboard.dismiss(); this.props.actions.navigateToLinkman(this.selectedUser, '', true); ... // 選擇人員后的回調函數 selectedUser = (selectUser: string[]) => { this.setState((preState) => { const newEmails = preState.emails.concat(selectUser); const emails = [...new Set(newEmails)]; return { emails, }; }); }

    B頁面

    c 窗體之間傳遞數據_html頁面傳遞json數據_html頁面之間傳遞數據

    handleToUser = () => { ... navigation.state.params.cb(user.email, group); ... }

    3. 利用react- 提供的路由事件監聽觸發事件

    在A頁面路由失去焦點的時候觸發該事件

    componentDidMount() { 
    this.props.navigation.addListener('didBlur', (payload) => {
         if (this.modalView) this.modalView.close();
        });
      }
    

    那么問題來了, 為何不在頁面卸載()的時候觸發該事件?

    如果不了解react-和react-, 會很困惑, A頁面卸載了, 為什么還能接收到來自B頁面的數據或者事件,原因是: react-中html頁面之間傳遞數據, A頁面跳轉到B頁面, A頁面沒有卸載,只是在它提供的路由棧中堆積html頁面之間傳遞數據,例如A跳轉到B中, A頁面不執行,當每一個路由pop掉的時候才會執行, 卸載掉當前頁面。以上就是關于對詳解react 頁面間傳遞數據的幾種方式的詳細介紹。歡迎大家對詳解react 頁面間傳遞數據的幾種方式內容提出寶貴意見

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有