問題

假設我有一個JS檔案包含2個React Component類定義和一堆其他事情:

 // a file called OuterComponent.react.js

import xxx from xxx;
import yyy from yyy;

// When does these run?
let a = 0;
a = 1;

export default class OuterComponent extends React.PureComponent<> {
  render() {
    return (
      <View>
       <InnerComponent />
      </View>
    );
  }
}

class InnerComponent extends React.PureComponent<> {
  //... something
}
 

問題

  1. ’a’執行的宣告和值設定程式碼何時執行?當其他檔案匯入/需要此檔案時它是否執行?

  2. 我可以在此檔案中有一些標誌並不時更改,然後從許多其他檔案讀取此標誌的值嗎? (就像單例管理器?)如果我可以,如何匯出它並匯入它?

  3. 建立多個檔案實際上意味著什麼? (除了它將大塊程式碼分解為小塊以獲得更好的可讀性)它是否有任何其他區別?

  最佳答案

問題1:’a’執行的宣告和值設定程式碼何時執行?當其他檔案匯入/需要此檔案時它是否執行?

第一次匯入檔案時執行.它不在子序列匯入上執行.

問題2:我可以在此檔案中有一些標誌並不時更改,然後從許多其他檔案讀取此標誌的值嗎? (就像單例管理器?)如果我可以,如何匯出它並匯入它?

你可以。

出口:

 export let a = 0;
 

進口:

 import { a } from './filename.js';
 

問題3:建立多個檔案實際上意味著什麼? (除了它將大塊程式碼分解為小塊以獲得更好的可讀性)它是否有任何其他區別?

  • 將程式碼分解成小塊;
  • 允許重用;和
  • 允許封裝非匯出的變數/函式。

-

檢查模組使用情況的演示: http://plnkr.co/edit/0ImgQj2KzLj9O1D63Gq9?p=preview

請注意a.js如何只載入一次,即使它是由b.jsc.js匯入的.還請看看它是如何匯出和匯入的,以及它如何更改時,更改在其他模組中被提取.

  相同標籤的其他問題

javascriptreactjsreact-native